package Lifevis::models;
    use strict;
    use OpenGL qw / :all /;
    
    use base 'Exporter';
    
    use lib '.';
    use lib '..';
    use Lifevis::constants;
    
    our @EXPORT = ( qw( get_model_subs set_zcount_for_models ) );
    
    my $ZCOUNT;
    
    my %DRAW_MODEL;
    
    

$DRAW_MODEL{'1D1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D1'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.41421356,0,   0.70710678,1.22474487,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D2'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.41421356,0,   0.70710678,1.22474487,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D3'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.41421356,0,   0.70710678,1.22474487,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D4'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.41421356,0,   0.70710678,1.22474487,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};



$DRAW_MODEL{'1D_1D1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.6,   0,0.6,   1,0.5,   1,0.5,   0,0.6,   0,-0.5,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   5.5511151e-017,0,   1,0,   1,0.1,   5.5511151e-017,1.1,   5.5511151e-017,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,5.5511151e-017,   1,1,   5.5511151e-017,5.5511151e-017,   1,1,   5.5511151e-017,1,   5.5511151e-017,5.5511151e-017,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.4,0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (-0.20036884,0.83370217,   0.032322347,-0.034713159,   0.66804649,0.60101099,   0.032322347,0.96804649,   -0.20036884,0.09963116,   0.66804649,0.33232235,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   5.5511151e-017,0,   1,0,   1,0.1,   5.5511151e-017,1.1,   5.5511151e-017,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.6,   0,0.6,   1,0.5,   1,0.5,   0,0.6,   0,-0.5,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,5.5511151e-017,   1,1,   5.5511151e-017,5.5511151e-017,   1,1,   5.5511151e-017,1,   5.5511151e-017,5.5511151e-017,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1D_1D2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,0.6,-0.5,   -0.5,0.6,0.5,   0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (-0.20036884,0.83370217,   0.032322347,-0.034713159,   0.66804649,0.60101099,   0.032322347,0.96804649,   -0.20036884,0.09963116,   0.66804649,0.33232235,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};



$DRAW_MODEL{'1S1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   1,0.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   0.5,-0.4,0.5,   0.5,0.6,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.41421356,   0,1.41421356,   1,0,   1,1.41421356,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   1,0.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   0.5,-0.4,-0.5,   -0.5,0.6,-0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.41421356,   0,1.41421356,   1,0,   1,1.41421356,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   1,0.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   -0.5,-0.4,-0.5,   -0.5,0.6,0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.41421356,   0,1.41421356,   1,0,   1,1.41421356,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   1,0.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,0.6,0.5,   0.5,0.6,-0.5,   -0.5,-0.4,0.5,   0.5,0.6,0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.41421356,   0,1.41421356,   1,0,   1,1.41421356,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};



$DRAW_MODEL{'1S_1DL1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.1,0,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,0,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,0.1,0,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0,0.1,0,   -0.5,0.1,0,   0.5,-0.4,0.5,   0,0.1,0,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   0.5,0.6,-0.5,   0,0.1,0,   0.5,-0.4,0.5,   -0.5,0.1,0,   0,0.1,0,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.38890873,0.55,   0,0,   0.38890873,0,   0,0,   0.38890873,0.55,   0,1.1,   0,1.41421356,   0.5,0.70710678,   1,1.41421356,   1,1.41421356,   0.5,0.70710678,   1,0,   0,0.70710678,   0.5,0.70710678,   0,1.41421356,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -3.06151588455594e-017,0.1,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0,0.1,0,   -3.06151588455594e-017,0.1,0.5,   0.5,-0.4,-0.5,   0,0.1,0,   0.5,0.6,0.5,   -0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   -0.5,0.6,-0.5,   0,0.1,0,   0.5,-0.4,-0.5,   -3.06151588455594e-017,0.1,0.5,   0,0.1,0,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.38890873,0.55,   0,0,   0.38890873,0,   0,0,   0.38890873,0.55,   0,1.1,   0,1.41421356,   0.5,0.70710678,   1,1.41421356,   1,1.41421356,   0.5,0.70710678,   1,0,   0,0.70710678,   0.5,0.70710678,   0,1.41421356,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,0.1,6.12303176911189e-017,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.1,6.12303176911189e-017,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,0.1,6.12303176911189e-017,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0,0.1,0,   0.5,0.1,6.12303176911189e-017,   -0.5,-0.4,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,0.5,   -0.5,0.6,0.5,   0,0.1,0,   -0.5,-0.4,-0.5,   0.5,0.1,6.12303176911189e-017,   0,0.1,0,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.38890873,0.55,   0,0,   0.38890873,0,   0,0,   0.38890873,0.55,   0,1.1,   0,1.41421356,   0.5,0.70710678,   1,1.41421356,   1,1.41421356,   0.5,0.70710678,   1,0,   0,0.70710678,   0.5,0.70710678,   0,1.41421356,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   9.18454765366783e-017,0.1,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   9.18454765366783e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   9.18454765366783e-017,0.1,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   1,0,   1,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DL4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0,0.1,0,   9.18454765366783e-017,0.1,-0.5,   -0.5,-0.4,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,0.5,   0.5,0.6,0.5,   0,0.1,0,   -0.5,-0.4,0.5,   9.18454765366783e-017,0.1,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.38890873,0.55,   0,0,   0.38890873,0,   0,0,   0.38890873,0.55,   0,1.1,   0,1.41421356,   0.5,0.70710678,   1,1.41421356,   1,1.41421356,   0.5,0.70710678,   1,0,   0,0.70710678,   0.5,0.70710678,   0,1.41421356,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};



$DRAW_MODEL{'1S_1DR1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.1,   0,1.1,   1,0,   1,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,0,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   0.5,0.1,0,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.1,0,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.59787551,   0,1.1,   1,0,   0.5,0.59787551,   0,0,   1,1.1,   0.5,0.59787551,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,0.1,0,   -0.5,0.6,-0.5,   -0.5,0.6,-0.5,   0.5,0.1,0,   0.5,0.6,-0.5,   0.5,0.1,0,   -0.5,-0.4,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.00237868,0.70878876,   0,1.41757752,   0,1.41757752,   1.00237868,0.70878876,   1.00237868,1.41757752,   0,0.55002111,   0.95806318,0,   0.31755483,1.10315914,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.59787551,   0,1.1,   1,0,   0.5,0.59787551,   0,0,   1,1.1,   0.5,0.59787551,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.1,   0,1.1,   1,0,   1,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   3.06151588455594e-017,0.1,-0.5,   -0.5,0.6,0.5,   -0.5,0.6,0.5,   3.06151588455594e-017,0.1,-0.5,   -0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,-0.4,0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.00237868,0.70878876,   0,1.41757752,   0,1.41757752,   1.00237868,0.70878876,   1.00237868,1.41757752,   0,0.55002111,   0.95806318,0,   0.31755483,1.10315914,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.1,   0,1.1,   1,0,   1,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.59787551,   0,1.1,   1,0,   0.5,0.59787551,   0,0,   1,1.1,   0.5,0.59787551,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,0.1,-6.12303176911189e-017,   0.5,0.6,0.5,   0.5,0.6,0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,0.6,0.5,   -0.5,0.1,-6.12303176911189e-017,   0.5,-0.4,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.00237868,0.70878876,   0,1.41757752,   0,1.41757752,   1.00237868,0.70878876,   1.00237868,1.41757752,   0,0.55002111,   0.95806318,0,   0.31755483,1.10315914,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -9.18454765366783e-017,0.1,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.59787551,   0,1.1,   1,0,   0.5,0.59787551,   0,0,   1,1.1,   0.5,0.59787551,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   0,1.1,   0,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,0.1,   0,0,   1,1.1,   0,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1.1,   0,1.1,   1,0,   1,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1DR4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   -9.18454765366783e-017,0.1,0.5,   0.5,0.6,-0.5,   0.5,0.6,-0.5,   -9.18454765366783e-017,0.1,0.5,   0.5,0.6,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,-0.4,-0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.00237868,0.70878876,   0,1.41757752,   0,1.41757752,   1.00237868,0.70878876,   1.00237868,1.41757752,   0,0.55002111,   0.95806318,0,   0.31755483,1.10315914,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};



$DRAW_MODEL{'1S_1S1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1.1,   0,1.1,   1,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.1,0,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,0,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,0.1,0,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,0,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,0,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,0,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0.5,0.1,0,   -0.5,0.1,0,   0.5,0.6,0.5,   0.5,0.1,0,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,0.1,0,   0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,0.1,0,   0.5,0.1,0,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.70710678,   0,0.70710678,   1,0,   1,0.70710678,   0,0,   0,0.70710678,   0,0,   1,0.70710678,   1,0.70710678,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -3.06151588455594e-017,0.1,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1.1,   0,1.1,   1,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_1S2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   3.06151588455594e-017,0.1,-0.5,   -3.06151588455594e-017,0.1,0.5,   0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,0.6,0.5,   -0.5,0.6,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,0.6,-0.5,   -0.5,0.6,-0.5,   -3.06151588455594e-017,0.1,0.5,   3.06151588455594e-017,0.1,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.70710678,   0,0.70710678,   1,0,   1,0.70710678,   0,0,   0,0.70710678,   0,0,   1,0.70710678,   1,0.70710678,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};



$DRAW_MODEL{'1S_2D1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   0,0.1,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D1'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.1,0,   -0.5,0.1,0,   0,0.1,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.5,   0,0.5,   0.5,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.1,0,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,0,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,0.1,0,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,0,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,0,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,0,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0.5,0.1,0,   0,0.1,0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   0.5,0.1,0,   -0.5,0.1,0,   0.5,0.1,0,   -0.5,0.6,-0.5,   0,0.1,0.5,   -0.5,0.1,0,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.35355339,0.61237244,   0,0,   0.70710678,0,   1,0.70710678,   0,0.70710678,   1,0,   0,0,   1,0,   0,0.70710678,   0,0,   0.70710678,0,   0.35355339,0.61237244,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -3.06151588455594e-017,0.1,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D2'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (3.06151588455594e-017,0.1,-0.5,   -3.06151588455594e-017,0.1,0.5,   0.5,0.1,3.06151588455594e-017,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.5,   0,0.5,   0.5,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,3.06151588455594e-017,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,3.06151588455594e-017,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,3.06151588455594e-017,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,0.1,3.06151588455594e-017,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   3.06151588455594e-017,0.1,-0.5,   -3.06151588455594e-017,0.1,0.5,   3.06151588455594e-017,0.1,-0.5,   -0.5,0.6,0.5,   0.5,0.1,3.06151588455594e-017,   -3.06151588455594e-017,0.1,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.35355339,0.61237244,   0,0,   0.70710678,0,   1,0.70710678,   0,0.70710678,   1,0,   0,0,   1,0,   0,0.70710678,   0,0,   0.70710678,0,   0.35355339,0.61237244,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   6.12303176911189e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D3'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.1,-6.12303176911189e-017,   0.5,0.1,6.12303176911189e-017,   6.12303176911189e-017,0.1,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.5,   0,0.5,   0.5,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,0.1,6.12303176911189e-017,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.1,6.12303176911189e-017,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,0.1,6.12303176911189e-017,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   -0.5,0.1,-6.12303176911189e-017,   6.12303176911189e-017,0.1,-0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   -0.5,0.1,-6.12303176911189e-017,   0.5,0.1,6.12303176911189e-017,   -0.5,0.1,-6.12303176911189e-017,   0.5,0.6,0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,0.1,6.12303176911189e-017,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.35355339,0.61237244,   0,0,   0.70710678,0,   1,0.70710678,   0,0.70710678,   1,0,   0,0,   1,0,   0,0.70710678,   0,0,   0.70710678,0,   0.35355339,0.61237244,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   -9.18454765366783e-017,0.1,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   9.18454765366783e-017,0.1,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   9.18454765366783e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   9.18454765366783e-017,0.1,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D4'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-9.18454765366783e-017,0.1,0.5,   9.18454765366783e-017,0.1,-0.5,   -0.5,0.1,-9.18454765366783e-017,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.5,   0,0.5,   0.5,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'1S_2D4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,0.1,-9.18454765366783e-017,   0.5,0.6,0.5,   0.5,0.6,-0.5,   -9.18454765366783e-017,0.1,0.5,   9.18454765366783e-017,0.1,-0.5,   -9.18454765366783e-017,0.1,0.5,   0.5,0.6,-0.5,   -0.5,0.1,-9.18454765366783e-017,   9.18454765366783e-017,0.1,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.35355339,0.61237244,   0,0,   0.70710678,0,   1,0.70710678,   0,0.70710678,   1,0,   0,0,   1,0,   0,0.70710678,   0,0,   0.70710678,0,   0.35355339,0.61237244,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};



$DRAW_MODEL{'2D1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -5.5511151e-017,0.1,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   -5.5511151e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -5.5511151e-017,0.1,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   0.5,0.5,   1,1.1,   0,0,   0.5,0.5,   0,1.1,   1,1.1,   0.5,0.5,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D1'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   0,-0.4,0,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.97487984,0,   0.48743992,0.40557453,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1,   1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0,-0.4,0,   -5.5511151e-017,0.1,-0.5,   -0.5,-0.4,0.5,   0,-0.4,0,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   0,-0.4,0,   0.5,-0.4,0.5,   -5.5511151e-017,0.1,-0.5,   0,-0.4,0,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.06897265,   0.28643036,0,   0.451801,0.61717165,   0,0,   0.48743992,0.40557453,   0,1.3519151,   0.97487984,1.3519151,   0.48743992,0.40557453,   0.97487984,0,   0,0.61717165,   0.16537064,0,   0.451801,1.06897265,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D2'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   0,-0.4,0,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.97487984,0,   0.48743992,0.40557453,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.1,2.48959921544406e-017,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,2.48959921544406e-017,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,0.1,2.48959921544406e-017,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   0.5,0.5,   1,1.1,   0,0,   0.5,0.5,   0,1.1,   1,1.1,   0.5,0.5,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1,   1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0,-0.4,0,   -0.5,0.1,2.48959921544406e-017,   0.5,-0.4,0.5,   0,-0.4,0,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   0,-0.4,0,   0.5,-0.4,-0.5,   -0.5,0.1,2.48959921544406e-017,   0,-0.4,0,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.06897265,   0.28643036,0,   0.451801,0.61717165,   0,0,   0.48743992,0.40557453,   0,1.3519151,   0.97487984,1.3519151,   0.48743992,0.40557453,   0.97487984,0,   0,0.61717165,   0.16537064,0,   0.451801,1.06897265,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -5.71916669111886e-018,0.1,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -5.71916669111886e-018,0.1,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -5.71916669111886e-018,0.1,0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   0.5,0.5,   1,1.1,   0,0,   0.5,0.5,   0,1.1,   1,1.1,   0.5,0.5,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D3'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0,-0.4,0,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.97487984,0,   0.48743992,0.40557453,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1,   1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0,-0.4,0,   -5.71916669111886e-018,0.1,0.5,   0.5,-0.4,-0.5,   0,-0.4,0,   0.5,0.6,0.5,   -0.5,0.6,0.5,   0,-0.4,0,   -0.5,-0.4,-0.5,   -5.71916669111886e-018,0.1,0.5,   0,-0.4,0,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.06897265,   0.28643036,0,   0.451801,0.61717165,   0,0,   0.48743992,0.40557453,   0,1.3519151,   0.97487984,1.3519151,   0.48743992,0.40557453,   0.97487984,0,   0,0.61717165,   0.16537064,0,   0.451801,1.06897265,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D4'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0,-0.4,0,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.97487984,0,   0.48743992,0.40557453,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,0.1,3.63343255366783e-017,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.1,3.63343255366783e-017,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,0.1,3.63343255366783e-017,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   0.5,0.5,   1,1.1,   0,0,   0.5,0.5,   0,1.1,   1,1.1,   0.5,0.5,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1,   1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2D4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0,-0.4,0,   0.5,0.1,3.63343255366783e-017,   -0.5,-0.4,-0.5,   0,-0.4,0,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0,-0.4,0,   -0.5,-0.4,0.5,   0.5,0.1,3.63343255366783e-017,   0,-0.4,0,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.06897265,   0.28643036,0,   0.451801,0.61717165,   0,0,   0.48743992,0.40557453,   0,1.3519151,   0.97487984,1.3519151,   0.48743992,0.40557453,   0.97487984,0,   0,0.61717165,   0.16537064,0,   0.451801,1.06897265,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};



$DRAW_MODEL{'2S1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S1'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   0.5,0.6,-0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.70710678,-0.22474487,   1.41421356,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S2'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,-0.5,   -0.5,0.6,-0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.70710678,-0.22474487,   1.41421356,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S3'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   -0.5,0.6,0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.70710678,-0.22474487,   1.41421356,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,1.1,   0,0,   1,0,   0,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S4'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   1,0,   0,1.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,0.6,0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.70710678,-0.22474487,   1.41421356,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};



$DRAW_MODEL{'2S_1D1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   0,0.1,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D1'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,0,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,0,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,0,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0,0.1,0.5,   0.5,0.6,-0.5,   0.5,0.6,-0.5,   0,0.1,0.5,   0.5,0.1,0,   0.5,0.6,0.5,   0.5,0.1,0,   0,0.1,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.61,   0.35,0,   1.41,0.61,   1.41,0.61,   0.35,0,   1.06,0,   0.35,0.61,   0,0,   0.70479502,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D2'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,3.06151588455594e-017,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,3.06151588455594e-017,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,3.06151588455594e-017,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0.5,0.1,3.06151588455594e-017,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   3.06151588455594e-017,0.1,-0.5,   0.5,0.1,3.06151588455594e-017,   -0.5,0.6,-0.5,   0.5,0.1,3.06151588455594e-017,   3.06151588455594e-017,0.1,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.61,   0.35,0,   1.41,0.61,   0.35,0.61,   0,0,   0.70479502,0,   1.41,0.61,   0.35,0,   1.06,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   6.12303176911189e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D3'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,0.1,-6.12303176911189e-017,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   6.12303176911189e-017,0.1,-0.5,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,0.1,-6.12303176911189e-017,   6.12303176911189e-017,0.1,-0.5,   -0.5,0.6,0.5,   6.12303176911189e-017,0.1,-0.5,   -0.5,0.1,-6.12303176911189e-017,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.61,   0.35,0,   1.41,0.61,   0.35,0.61,   0,0,   0.70479502,0,   1.41,0.61,   0.35,0,   1.06,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   -9.18454765366783e-017,0.1,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D4'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'2S_1D4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   -0.5,0.1,-9.18454765366783e-017,   0.5,0.6,0.5,   -0.5,0.6,0.5,   -9.18454765366783e-017,0.1,0.5,   -0.5,0.1,-9.18454765366783e-017,   0.5,0.6,0.5,   -0.5,0.1,-9.18454765366783e-017,   -9.18454765366783e-017,0.1,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.61,   0.35,0,   1.41,0.61,   0.35,0.61,   0,0,   0.70479502,0,   1.41,0.61,   0.35,0,   1.06,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};



$DRAW_MODEL{'3D1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0,0.1,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0,0.1,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0,0.1,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.1,0,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,0,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,0.1,0,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1,   0,1,   1,0,   0,1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0,0.1,0,   0,0.1,-0.5,   0.5,-0.4,0.5,   0,0.1,0,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,0.1,0,   0,0.1,0,   0.5,0.6,-0.5,   0,0.1,0,   0.5,-0.4,0.5,   0,0.1,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   0,0.1,0,   -0.5,0.1,0,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.5,0.7,   0,0,   0.5,0,   0,0,   0.5,0.7,   0,1.4,   0,0.7,   0,0,   0.5,0,   0.5,1.4,   0,0.7,   0.5,0,   0,0,   0.5,0,   0,0.7,   0,0,   0.5,0,   0.5,0.7,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   -3.06151588455594e-017,0.1,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -3.06151588455594e-017,0.1,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.1,-3.06151588455594e-017,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,-3.06151588455594e-017,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,0.1,-3.06151588455594e-017,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1,   0,1,   1,0,   0,1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0,0.1,0,   -0.5,0.1,-3.06151588455594e-017,   0.5,-0.4,-0.5,   0,0.1,0,   0.5,0.6,0.5,   -0.5,0.6,0.5,   -3.06151588455594e-017,0.1,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   0,0.1,0,   0.5,-0.4,-0.5,   -0.5,0.1,-3.06151588455594e-017,   0,0.1,0,   -0.5,0.6,-0.5,   0,0.1,0,   -3.06151588455594e-017,0.1,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.5,0.7,   0,0,   0.5,0,   0,0,   0.5,0.7,   0,1.4,   0,0.7,   0,0,   0.5,0,   0.5,1.4,   0,0.7,   0.5,0,   0,0,   0.5,0,   0,0.7,   0,0,   0.5,0,   0.5,0.7,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -6.12303176911189e-017,0.1,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -6.12303176911189e-017,0.1,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -6.12303176911189e-017,0.1,0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,6.12303176911189e-017,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,6.12303176911189e-017,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,6.12303176911189e-017,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1,   0,1,   1,0,   0,1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0,0.1,0,   -6.12303176911189e-017,0.1,0.5,   -0.5,-0.4,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,0.1,6.12303176911189e-017,   0,0.1,0,   -0.5,0.6,0.5,   0,0.1,0,   -0.5,-0.4,-0.5,   -6.12303176911189e-017,0.1,0.5,   0,0.1,0,   -0.5,0.6,0.5,   0,0.1,0,   0.5,0.1,6.12303176911189e-017,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.5,0.7,   0,0,   0.5,0,   0,0,   0.5,0.7,   0,1.4,   0,0.7,   0,0,   0.5,0,   0.5,1.4,   0,0.7,   0.5,0,   0,0,   0.5,0,   0,0.7,   0,0,   0.5,0,   0.5,0.7,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   9.18454765366783e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   9.18454765366783e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   9.18454765366783e-017,0.1,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,1.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,0.1,9.18454765366783e-017,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.1,9.18454765366783e-017,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,0.1,9.18454765366783e-017,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1,   0,1,   1,0,   0,1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3D4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0,0.1,0,   0.5,0.1,9.18454765366783e-017,   -0.5,-0.4,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   9.18454765366783e-017,0.1,-0.5,   0,0.1,0,   0.5,0.6,0.5,   0,0.1,0,   -0.5,-0.4,0.5,   0.5,0.1,9.18454765366783e-017,   0,0.1,0,   0.5,0.6,0.5,   0,0.1,0,   9.18454765366783e-017,0.1,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.5,0.7,   0,0,   0.5,0,   0,0,   0.5,0.7,   0,1.4,   0,0.7,   0,0,   0.5,0,   0.5,1.4,   0,0.7,   0.5,0,   0,0,   0.5,0,   0,0.7,   0,0,   0.5,0,   0.5,0.7,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};



$DRAW_MODEL{'3S1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   0,0.1,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   1,0,   1,1.1,   0,0,   1,0,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0,0.1,0.5,   -0.5,0.6,-0.5,   0,0.1,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   0.5,0.6,0.5,   0,0.1,0,   0,0.1,0.5,   0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,0.5,   -0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.70710678,   0,0,   1,0.70710678,   0,0,   0.5,0,   1,0.70710678,   1,0.70710678,   0.5,0,   1,0,   0,0.70710678,   0.5,0,   1,0.70710678,   0,0.70710678,   0.5,0,   1,0.70710678,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,0.6,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   1,0,   1,1.1,   0,0,   1,0,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,3.06151588455594e-017,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,3.06151588455594e-017,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,3.06151588455594e-017,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0.5,0.1,3.06151588455594e-017,   -0.5,0.6,0.5,   0.5,0.1,3.06151588455594e-017,   0,0.1,0,   -0.5,0.6,0.5,   0.5,0.6,-0.5,   0,0.1,0,   0.5,0.1,3.06151588455594e-017,   -0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   -0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.70710678,   0,0,   1,0.70710678,   0,0,   0.5,0,   1,0.70710678,   1,0.70710678,   0.5,0,   1,0,   0,0.70710678,   0.5,0,   1,0.70710678,   0,0.70710678,   0.5,0,   1,0.70710678,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S3'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S3'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,0.6,-0.5,   -0.5,0.6,-0.5,   6.12303176911189e-017,0.1,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S3'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   1,0,   1,1.1,   0,0,   1,0,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S3'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S3'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   0.5,0.6,0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S3'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   6.12303176911189e-017,0.1,-0.5,   0.5,0.6,0.5,   6.12303176911189e-017,0.1,-0.5,   0,0.1,0,   0.5,0.6,0.5,   -0.5,0.6,-0.5,   0,0.1,0,   6.12303176911189e-017,0.1,-0.5,   -0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.70710678,   0,0,   1,0.70710678,   0,0,   0.5,0,   1,0.70710678,   1,0.70710678,   0.5,0,   1,0,   0,0.70710678,   0.5,0,   1,0.70710678,   0,0.70710678,   0.5,0,   1,0.70710678,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S4'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,1.1,   1,0,   1,1.1,   0,0,   1,0,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S4'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1.1,   0,0,   1,1.1,   0,1.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S4'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,0.6,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,-0.5,0.5,   -0.5,-0.5,0.5,   -0.5,0.1,-9.18454765366783e-017,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S4'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,0.5,   0.5,-0.5,0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,0,   1,0,   0,1.1,   0,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S4'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'3S4'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   -0.5,0.1,-9.18454765366783e-017,   0.5,0.6,-0.5,   -0.5,0.1,-9.18454765366783e-017,   0,0.1,0,   0.5,0.6,-0.5,   -0.5,0.6,0.5,   0,0.1,0,   -0.5,0.1,-9.18454765366783e-017,   0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,0.5,   0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.70710678,   0,0,   1,0.70710678,   0,0,   0.5,0,   1,0.70710678,   1,0.70710678,   0.5,0,   1,0,   0,0.70710678,   0.5,0,   1,0.70710678,   0,0.70710678,   0.5,0,   1,0.70710678,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};



$DRAW_MODEL{'4D'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,0.6,0.5,   0.5,0.6,0.5,   0,0.1,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   0,0.1,0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4D'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0,0.1,-0.5,   0.5,-0.5,-0.5,   -0.5,0.6,-0.5,   0,0.1,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0,0.1,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4D'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.1,0,   -0.5,0.1,0,   0,0.1,0.5,   0,0.1,-0.5,   -0.5,0.1,0,   0.5,0.1,0,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.5,   0,0.5,   0.5,0,   0.5,1,   0,0.5,   1,0.5,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4D'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,0.1,0,   -0.5,-0.5,-0.5,   -0.5,0.6,0.5,   -0.5,0.1,0,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,0.1,0,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.6,   0,0,   1,1.1,   0.5,0.6,   1,0,   0,0,   0.5,0.6,   0,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4D'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.1,0,   0.5,0.6,0.5,   0.5,0.6,-0.5,   0.5,0.1,0,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,0.1,0,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.6,   0,1.1,   1,1.1,   0.5,0.6,   1,0,   1,0,   0.5,0.6,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 9 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 9 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4D'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4D'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,0.6,0.5,   0.5,0.1,0,   0,0.1,0.5,   0.5,0.6,-0.5,   0,0.1,-0.5,   0.5,0.1,0,   0,0.1,0.5,   -0.5,0.1,0,   -0.5,0.6,0.5,   -0.5,0.1,0,   0,0.1,-0.5,   -0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.35355339,0.61237244,   0,0,   0.70710678,0,   0.35355339,0.61237244,   0,0,   0.70710678,0,   0,0,   0.70710678,0,   0.35355339,0.61237244,   0,0,   0.70710678,0,   0.35355339,0.61237244,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,-0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   -0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,-0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   0.577350269189626,0.577350269189626,0.577350269189626,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};



$DRAW_MODEL{'4S'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4S'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,-0.5,   0.5,0.6,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4S'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   -0.5,0.6,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1.1,   0,1.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4S'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.6,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   1,1.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4S'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'4S'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,-0.5,   0.5,0.6,0.5,   0,0.1,0,   -0.5,0.6,0.5,   -0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,-0.5,   0.5,0.6,-0.5,   0,0.1,0,   0.5,0.6,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.70710678,   0.5,0,   1,0.70710678,   0,0.70710678,   0.5,0,   1,0.70710678,   0,0.70710678,   0.5,0,   1,0.70710678,   0,0.70710678,   0.5,0,   1,0.70710678,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Bldg_No_Block'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.3,0.5,   -0.5,-0.3,0.5,   0.5,-0.4,0.5,   0.5,-0.3,0.5,   -0.5,-0.4,0.5,   0,-0.3,0,   0,0.2,0,   -0.5,-0.3,0,   -0.5,0.2,0,   -0.5,-0.3,0,   0,0.2,0,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   1,0,   1,0.1,   0,0,   0.5,0.5,   0.5,0.5,   0,0.5,   0,0.5,   0,0.5,   0.5,0.5,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Bldg_No_Block'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0,-0.3,-0.5,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   0,-0.3,-0.5,   0.5,-0.3,-0.5,   0,0.2,-0.5,   0,-0.3,-0.5,   -0.5,0.2,-0.5,   -0.5,0.2,-0.5,   0,-0.3,-0.5,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.1,   0,0,   0,0,   0.5,0.1,   0,0.1,   0.5,1,   0.5,0.1,   0,1,   0,1,   0.5,0.1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Bldg_No_Block'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.3,0.5,   0,-0.3,0,   -0.5,-0.3,0,   0.5,-0.3,0.5,   0,-0.3,0,   -0.5,-0.3,0.5,   0.5,-0.3,-0.5,   0,-0.3,0,   0.5,-0.3,0.5,   0,-0.3,-0.5,   0,-0.3,0,   0.5,-0.3,-0.5,   -0.5,0.2,-0.5,   0,0.2,0,   0,0.2,-0.5,   -0.5,0.2,0,   0,0.2,0,   -0.5,0.2,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.5,0.5,   0,0.5,   1,0,   0.5,0.5,   0,0,   1,1,   0.5,0.5,   1,0,   0.5,1,   0.5,0.5,   1,1,   0,1,   0.5,0.5,   0.5,1,   0,0.5,   0.5,0.5,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Bldg_No_Block'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.3,0,   -0.5,-0.4,-0.5,   -0.5,-0.3,0.5,   -0.5,-0.3,0,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.3,0,   -0.5,0.2,-0.5,   -0.5,0.2,-0.5,   -0.5,-0.3,0,   -0.5,0.2,0,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.1,   0,0,   1,0.1,   0.5,0.1,   1,0,   0,0,   0.5,0.1,   0,1,   0,1,   0.5,0.1,   0,0.5,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Bldg_No_Block'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.3,0.5,   0.5,-0.4,-0.5,   0.5,-0.3,-0.5,   0.5,-0.4,0.5,   0.5,-0.4,-0.5,   0.5,-0.3,0.5,   0,-0.3,-0.5,   0,0.2,0,   0,-0.3,0,   0,0.2,-0.5,   0,0.2,0,   0,-0.3,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0.1,   1,0,   1,0.1,   0,0,   1,0,   0,0.1,   0.5,1,   0.5,0.5,   0.5,0.5,   0.5,1,   0.5,0.5,   0.5,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Bldg_No_Block'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Boulder'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.00763056,0.11476152,   0.24070736,0.11476152,   0.00763056,0.1380692,   0.00763056,0.1380692,   0.24070736,0.11476152,   0.24070736,0.1380692,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Boulder'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.24070736,0.1380692,   0.00763056,0.1380692,   0.24070736,0.11476152,   0.00763056,0.1380692,   0.00763056,0.11476152,   0.24070736,0.11476152,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Boulder'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.00763056,0.00987696,   0.24070736,0.24295376,   0.00763056,0.24295376,   0.24070736,0.00987696,   0.24070736,0.24295376,   0.00763056,0.00987696,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Boulder'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.24070736,0.1380692,   0.00763056,0.11476152,   0.24070736,0.11476152,   0.24070736,0.1380692,   0.00763056,0.1380692,   0.00763056,0.11476152,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Boulder'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.00763056,0.11476152,   0.24070736,0.1380692,   0.00763056,0.1380692,   0.00763056,0.11476152,   0.24070736,0.11476152,   0.24070736,0.1380692,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Boulder'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.24070736,0.00987696,   0.24070736,0.24295376,   0.00763056,0.00987696,   0.24070736,0.24295376,   0.00763056,0.24295376,   0.00763056,0.00987696,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Boulder'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.14413525,-0.40909909,0.12458331,   0.21414524,-0.41614883,0.053001859,   0.20110813,-0.39482973,0.077920831,   0.14413525,-0.40909909,0.12458331,   0.16298345,-0.42851552,0.04594435,   0.21414524,-0.41614883,0.053001859,   0.14413525,-0.40909909,0.12458331,   0.15289177,-0.35871529,0.11116738,   0.095918885,-0.37298465,0.15782986,   0.14413525,-0.40909909,0.12458331,   0.095918885,-0.37298465,0.15782986,   0.092973454,-0.42146577,0.1175258,   0.20110813,-0.39482973,0.077920831,   0.15289177,-0.35871529,0.11116738,   0.14413525,-0.40909909,0.12458331,   0.20110813,-0.39482973,0.077920831,   0.17104193,-0.31108954,0.06550933,   0.15289177,-0.35871529,0.11116738,   0.21414524,-0.41614883,0.053001859,   0.23741907,-0.37715339,0.0016729183,   0.20110813,-0.39482973,0.077920831,   0.21414524,-0.41614883,0.053001859,   0.1540931,-0.42758111,-0.024039454,   0.25045618,-0.39847249,-0.023246054,   0.092973454,-0.42146577,0.1175258,   0.16298345,-0.42851552,0.04594435,   0.14413525,-0.40909909,0.12458331,   0.092973454,-0.42146577,0.1175258,   0.057855113,-0.42945644,0.058159805,   0.16298345,-0.42851552,0.04594435,   0.092973454,-0.42146577,0.1175258,   -0.022314189,-0.41137231,0.15594454,   0.057855113,-0.42945644,0.058159805,   0.092973454,-0.42146577,0.1175258,   0.095918885,-0.37298465,0.15782986,   -0.022314189,-0.41137231,0.15594454,   0.16298345,-0.42851552,0.04594435,   0.048964765,-0.42852204,-0.011823999,   0.1540931,-0.42758111,-0.024039454,   0.16298345,-0.42851552,0.04594435,   0.1540931,-0.42758111,-0.024039454,   0.21414524,-0.41614883,0.053001859,   0.057855113,-0.42945644,0.058159805,   -0.022314189,-0.41137231,0.15594454,   -0.05743253,-0.41936298,0.096578546,   0.057855113,-0.42945644,0.058159805,   0.048964765,-0.42852204,-0.011823999,   0.16298345,-0.42851552,0.04594435,   -0.022314189,-0.41137231,0.15594454,   -0.15982195,-0.40025383,0.15351682,   -0.05743253,-0.41936298,0.096578546,   -0.022314189,-0.41137231,0.15594454,   -0.14963368,-0.36361666,0.17997701,   -0.15982195,-0.40025383,0.15351682,   -0.022314189,-0.41137231,0.15594454,   0.095918885,-0.37298465,0.15782986,   -0.012125921,-0.37473514,0.18240472,   -0.05743253,-0.41936298,0.096578546,   0.048964765,-0.42852204,-0.011823999,   0.057855113,-0.42945644,0.058159805,   -0.15982195,-0.40025383,0.15351682,   -0.14909664,-0.42581885,0.034094426,   -0.05743253,-0.41936298,0.096578546,   -0.15982195,-0.40025383,0.15351682,   -0.19984428,-0.307471,0.14389191,   -0.25148606,-0.4067097,0.091032704,   -0.012125921,-0.37473514,0.18240472,   -0.14963368,-0.36361666,0.17997701,   -0.022314189,-0.41137231,0.15594454,   -0.012125921,-0.37473514,0.18240472,   -0.028905377,-0.3167789,0.17066707,   -0.14963368,-0.36361666,0.17997701,   -0.012125921,-0.37473514,0.18240472,   0.079139428,-0.31502842,0.1460922,   -0.028905377,-0.3167789,0.17066707,   -0.14963368,-0.36361666,0.17997701,   -0.079115974,-0.26063324,0.13458196,   -0.19984428,-0.307471,0.14389191,   -0.14963368,-0.36361666,0.17997701,   -0.19984428,-0.307471,0.14389191,   -0.15982195,-0.40025383,0.15351682,   -0.028905377,-0.3167789,0.17066707,   0.015427392,-0.21918442,0.090272642,   -0.079115974,-0.26063324,0.13458196,   -0.028905377,-0.3167789,0.17066707,   -0.079115974,-0.26063324,0.13458196,   -0.14963368,-0.36361666,0.17997701,   0.15289177,-0.35871529,0.11116738,   0.079139428,-0.31502842,0.1460922,   0.095918885,-0.37298465,0.15782986,   0.15289177,-0.35871529,0.11116738,   0.097289592,-0.26740266,0.10043415,   0.079139428,-0.31502842,0.1460922,   0.095918885,-0.37298465,0.15782986,   0.079139428,-0.31502842,0.1460922,   -0.012125921,-0.37473514,0.18240472,   0.079139428,-0.31502842,0.1460922,   0.015427392,-0.21918442,0.090272642,   -0.028905377,-0.3167789,0.17066707,   -0.28218647,-0.34612478,0.087928707,   -0.23505778,-0.25618107,0.025403235,   -0.30967411,-0.36886383,-0.022114995,   -0.28218647,-0.34612478,0.087928707,   -0.2789737,-0.42944875,-0.019010998,   -0.25148606,-0.4067097,0.091032704,   -0.30967411,-0.36886383,-0.022114995,   -0.2789737,-0.42944875,-0.019010998,   -0.28218647,-0.34612478,0.087928707,   -0.28218647,-0.34612478,0.087928707,   -0.19984428,-0.307471,0.14389191,   -0.23505778,-0.25618107,0.025403235,   -0.30967411,-0.36886383,-0.022114995,   -0.25847221,-0.33573285,-0.10273146,   -0.2789737,-0.42944875,-0.019010998,   -0.23505778,-0.25618107,0.025403235,   -0.19984428,-0.307471,0.14389191,   -0.15271559,-0.21752729,0.081366435,   -0.23505778,-0.25618107,0.025403235,   -0.25847221,-0.33573285,-0.10273146,   -0.30967411,-0.36886383,-0.022114995,   0.25045618,-0.39847249,-0.023246054,   0.23741907,-0.37715339,0.0016729183,   0.21414524,-0.41614883,0.053001859,   0.25045618,-0.39847249,-0.023246054,   0.24580586,-0.35960533,-0.088910851,   0.23741907,-0.37715339,0.0016729183,   0.25045618,-0.39847249,-0.023246054,   0.1540931,-0.42758111,-0.024039454,   0.20991422,-0.40546551,-0.067306261,   0.25045618,-0.39847249,-0.023246054,   0.20991422,-0.40546551,-0.067306261,   0.24580586,-0.35960533,-0.088910851,   0.23741907,-0.37715339,0.0016729183,   0.21667479,-0.3256111,-0.0042176635,   0.20110813,-0.39482973,0.077920831,   0.23741907,-0.37715339,0.0016729183,   0.22506159,-0.30806304,-0.094801433,   0.21667479,-0.3256111,-0.0042176635,   0.24580586,-0.35960533,-0.088910851,   0.22506159,-0.30806304,-0.094801433,   0.23741907,-0.37715339,0.0016729183,   0.24580586,-0.35960533,-0.088910851,   0.20991422,-0.40546551,-0.067306261,   0.20526391,-0.36659834,-0.13297106,   0.24580586,-0.35960533,-0.088910851,   0.20526391,-0.36659834,-0.13297106,   0.22506159,-0.30806304,-0.094801433,   0.015427392,-0.21918442,0.090272642,   0.064877144,-0.19141429,0.019825804,   -0.058172224,-0.17607847,0.037057112,   0.015427392,-0.21918442,0.090272642,   0.097289592,-0.26740266,0.10043415,   0.064877144,-0.19141429,0.019825804,   -0.058172224,-0.17607847,0.037057112,   -0.079115974,-0.26063324,0.13458196,   0.015427392,-0.21918442,0.090272642,   -0.058172224,-0.17607847,0.037057112,   -0.074041613,-0.16896847,-0.038387163,   -0.15271559,-0.21752729,0.081366435,   0.064877144,-0.19141429,0.019825804,   0.097289592,-0.26740266,0.10043415,   0.14673934,-0.23963253,0.02998731,   0.064877144,-0.19141429,0.019825804,   -0.074041613,-0.16896847,-0.038387163,   -0.058172224,-0.17607847,0.037057112,   0.064877144,-0.19141429,0.019825804,   0.13552929,-0.22277361,-0.095781282,   0.049007755,-0.18430429,-0.055618472,   0.048964765,-0.42852204,-0.011823999,   -0.05743253,-0.41936298,0.096578546,   -0.081593787,-0.43106138,-0.034540648,   0.048964765,-0.42852204,-0.011823999,   0.068080478,-0.41884944,-0.078428854,   0.1540931,-0.42758111,-0.024039454,   0.048964765,-0.42852204,-0.011823999,   -0.062478073,-0.42138879,-0.1011455,   0.068080478,-0.41884944,-0.078428854,   0.068080478,-0.41884944,-0.078428854,   0.20991422,-0.40546551,-0.067306261,   0.1540931,-0.42758111,-0.024039454,   0.068080478,-0.41884944,-0.078428854,   0.059815852,-0.3535094,-0.16389339,   0.1239016,-0.39673384,-0.12169566,   0.21667479,-0.3256111,-0.0042176635,   0.22506159,-0.30806304,-0.094801433,   0.1923722,-0.2541541,-0.039739683,   0.21667479,-0.3256111,-0.0042176635,   0.14673934,-0.23963253,0.02998731,   0.17104193,-0.31108954,0.06550933,   0.1923722,-0.2541541,-0.039739683,   0.14673934,-0.23963253,0.02998731,   0.21667479,-0.3256111,-0.0042176635,   0.1923722,-0.2541541,-0.039739683,   0.13552929,-0.22277361,-0.095781282,   0.14673934,-0.23963253,0.02998731,   0.22506159,-0.30806304,-0.094801433,   0.20526391,-0.36659834,-0.13297106,   0.16821867,-0.27668255,-0.15084303,   0.22506159,-0.30806304,-0.094801433,   0.13552929,-0.22277361,-0.095781282,   0.1923722,-0.2541541,-0.039739683,   -0.25148606,-0.4067097,0.091032704,   -0.14909664,-0.42581885,0.034094426,   -0.15982195,-0.40025383,0.15351682,   -0.25148606,-0.4067097,0.091032704,   -0.2789737,-0.42944875,-0.019010998,   -0.14909664,-0.42581885,0.034094426,   -0.25148606,-0.4067097,0.091032704,   -0.19984428,-0.307471,0.14389191,   -0.28218647,-0.34612478,0.087928707,   -0.14909664,-0.42581885,0.034094426,   -0.21147085,-0.43469128,-0.087646072,   -0.081593787,-0.43106138,-0.034540648,   -0.14909664,-0.42581885,0.034094426,   -0.081593787,-0.43106138,-0.034540648,   -0.05743253,-0.41936298,0.096578546,   -0.2789737,-0.42944875,-0.019010998,   -0.21147085,-0.43469128,-0.087646072,   -0.14909664,-0.42581885,0.034094426,   -0.2789737,-0.42944875,-0.019010998,   -0.25847221,-0.33573285,-0.10273146,   -0.21147085,-0.43469128,-0.087646072,   0.20991422,-0.40546551,-0.067306261,   0.1239016,-0.39673384,-0.12169566,   0.20526391,-0.36659834,-0.13297106,   0.1239016,-0.39673384,-0.12169566,   0.20991422,-0.40546551,-0.067306261,   0.068080478,-0.41884944,-0.078428854,   0.1239016,-0.39673384,-0.12169566,   0.14117816,-0.32337391,-0.17516878,   0.20526391,-0.36659834,-0.13297106,   -0.079115974,-0.26063324,0.13458196,   -0.15271559,-0.21752729,0.081366435,   -0.19984428,-0.307471,0.14389191,   -0.15271559,-0.21752729,0.081366435,   -0.079115974,-0.26063324,0.13458196,   -0.058172224,-0.17607847,0.037057112,   -0.15271559,-0.21752729,0.081366435,   -0.18385589,-0.2230501,-0.055213231,   -0.23505778,-0.25618107,0.025403235,   -0.21147085,-0.43469128,-0.087646072,   -0.062478073,-0.42138879,-0.1011455,   -0.081593787,-0.43106138,-0.034540648,   -0.21147085,-0.43469128,-0.087646072,   -0.21715197,-0.39094411,-0.13663016,   -0.062478073,-0.42138879,-0.1011455,   -0.21147085,-0.43469128,-0.087646072,   -0.25847221,-0.33573285,-0.10273146,   -0.21715197,-0.39094411,-0.13663016,   -0.081593787,-0.43106138,-0.034540648,   -0.062478073,-0.42138879,-0.1011455,   0.048964765,-0.42852204,-0.011823999,   -0.062478073,-0.42138879,-0.1011455,   -0.21715197,-0.39094411,-0.13663016,   -0.068159194,-0.37764161,-0.15012959,   -0.062478073,-0.42138879,-0.1011455,   0.059815852,-0.3535094,-0.16389339,   0.068080478,-0.41884944,-0.078428854,   0.17104193,-0.31108954,0.06550933,   0.20110813,-0.39482973,0.077920831,   0.21667479,-0.3256111,-0.0042176635,   0.17104193,-0.31108954,0.06550933,   0.097289592,-0.26740266,0.10043415,   0.15289177,-0.35871529,0.11116738,   0.17104193,-0.31108954,0.06550933,   0.14673934,-0.23963253,0.02998731,   0.097289592,-0.26740266,0.10043415,   0.097289592,-0.26740266,0.10043415,   0.015427392,-0.21918442,0.090272642,   0.079139428,-0.31502842,0.1460922,   0.14673934,-0.23963253,0.02998731,   0.13552929,-0.22277361,-0.095781282,   0.064877144,-0.19141429,0.019825804,   -0.21715197,-0.39094411,-0.13663016,   -0.097500924,-0.3085693,-0.1716961,   -0.068159194,-0.37764161,-0.15012959,   -0.21715197,-0.39094411,-0.13663016,   -0.13882117,-0.25335804,-0.1377974,   -0.097500924,-0.3085693,-0.1716961,   -0.068159194,-0.37764161,-0.15012959,   0.059815852,-0.3535094,-0.16389339,   -0.062478073,-0.42138879,-0.1011455,   -0.068159194,-0.37764161,-0.15012959,   0.030474122,-0.28443708,-0.18545989,   0.059815852,-0.3535094,-0.16389339,   -0.097500924,-0.3085693,-0.1716961,   -0.029006897,-0.19927641,-0.12097133,   0.030474122,-0.28443708,-0.18545989,   -0.097500924,-0.3085693,-0.1716961,   0.030474122,-0.28443708,-0.18545989,   -0.068159194,-0.37764161,-0.15012959,   -0.18385589,-0.2230501,-0.055213231,   -0.15271559,-0.21752729,0.081366435,   -0.074041613,-0.16896847,-0.038387163,   -0.18385589,-0.2230501,-0.055213231,   -0.25847221,-0.33573285,-0.10273146,   -0.23505778,-0.25618107,0.025403235,   -0.18385589,-0.2230501,-0.055213231,   -0.13882117,-0.25335804,-0.1377974,   -0.25847221,-0.33573285,-0.10273146,   -0.18385589,-0.2230501,-0.055213231,   -0.074041613,-0.16896847,-0.038387163,   -0.13882117,-0.25335804,-0.1377974,   -0.25847221,-0.33573285,-0.10273146,   -0.13882117,-0.25335804,-0.1377974,   -0.21715197,-0.39094411,-0.13663016,   -0.13882117,-0.25335804,-0.1377974,   -0.074041613,-0.16896847,-0.038387163,   -0.029006897,-0.19927641,-0.12097133,   -0.13882117,-0.25335804,-0.1377974,   -0.029006897,-0.19927641,-0.12097133,   -0.097500924,-0.3085693,-0.1716961,   0.049007755,-0.18430429,-0.055618472,   -0.074041613,-0.16896847,-0.038387163,   0.064877144,-0.19141429,0.019825804,   0.049007755,-0.18430429,-0.055618472,   -0.029006897,-0.19927641,-0.12097133,   -0.074041613,-0.16896847,-0.038387163,   0.049007755,-0.18430429,-0.055618472,   0.13552929,-0.22277361,-0.095781282,   -0.029006897,-0.19927641,-0.12097133,   -0.029006897,-0.19927641,-0.12097133,   0.13552929,-0.22277361,-0.095781282,   0.057514634,-0.23774573,-0.16113414,   0.16821867,-0.27668255,-0.15084303,   0.13552929,-0.22277361,-0.095781282,   0.22506159,-0.30806304,-0.094801433,   0.16821867,-0.27668255,-0.15084303,   0.057514634,-0.23774573,-0.16113414,   0.13552929,-0.22277361,-0.095781282,   0.16821867,-0.27668255,-0.15084303,   0.14117816,-0.32337391,-0.17516878,   0.057514634,-0.23774573,-0.16113414,   0.057514634,-0.23774573,-0.16113414,   0.14117816,-0.32337391,-0.17516878,   0.030474122,-0.28443708,-0.18545989,   0.057514634,-0.23774573,-0.16113414,   0.030474122,-0.28443708,-0.18545989,   -0.029006897,-0.19927641,-0.12097133,   0.059815852,-0.3535094,-0.16389339,   0.14117816,-0.32337391,-0.17516878,   0.1239016,-0.39673384,-0.12169566,   0.059815852,-0.3535094,-0.16389339,   0.030474122,-0.28443708,-0.18545989,   0.14117816,-0.32337391,-0.17516878,   0.14117816,-0.32337391,-0.17516878,   0.16821867,-0.27668255,-0.15084303,   0.20526391,-0.36659834,-0.13297106,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.69841053,0.93715116,   0.55264044,0.91484076,   0.59300218,0.882207,   0.35767,0.97606286,   0.45545208,0.85227352,   0.5364198,0.87602364,   0.69841053,0.93715116,   0.69787908,0.84845996,   0.76710515,0.86339989,   0.69841053,0.93715116,   0.76710515,0.86339989,   0.80128246,0.92678874,   0.59300218,0.882207,   0.69787908,0.84845996,   0.69841053,0.93715116,   0.59300218,0.882207,   0.66238385,0.83151975,   0.69787908,0.84845996,   0.5364198,0.87602364,   0.57382836,0.82064545,   0.59300218,0.882207,   0.5364198,0.87602364,   0.46659919,0.77674709,   0.54566383,0.80355101,   0.29157227,0.88896406,   0.45545208,0.85227352,   0.35767,0.97606286,   0.29157227,0.88896406,   0.32416229,0.780776,   0.45545208,0.85227352,   0.29157227,0.88896406,   0.13384169,0.77153642,   0.32416229,0.780776,   0.80128246,0.92678874,   0.76710515,0.86339989,   0.87798301,0.812148,   0.45545208,0.85227352,   0.38418993,0.70926066,   0.46659919,0.77674709,   0.45545208,0.85227352,   0.46659919,0.77674709,   0.5364198,0.87602364,   0.32416229,0.780776,   0.13384169,0.77153642,   0.18304305,0.67711051,   0.32416229,0.780776,   0.38418993,0.70926066,   0.45545208,0.85227352,   0.13384169,0.77153642,   0.028893233,0.58833944,   0.18304305,0.67711051,   0.87798301,0.812148,   0.91696932,0.67438362,   0.94726943,0.67736193,   0.87798301,0.812148,   0.76710515,0.86339989,   0.85332201,0.79292146,   0.18304305,0.67711051,   0.38418993,0.70926066,   0.32416229,0.780776,   0.028893233,0.58833944,   0.19552426,0.5150661,   0.18304305,0.67711051,   0.94726943,0.67736193,   0.90236927,0.59669461,   0.97792379,0.55280394,   0.85332201,0.79292146,   0.91696932,0.67438362,   0.87798301,0.812148,   0.85332201,0.79292146,   0.83671485,0.74812927,   0.91696932,0.67438362,   0.85332201,0.79292146,   0.76410559,0.81592025,   0.83671485,0.74812927,   0.91696932,0.67438362,   0.83309659,0.67159504,   0.90236927,0.59669461,   0.91696932,0.67438362,   0.90236927,0.59669461,   0.94726943,0.67736193,   0.83671485,0.74812927,   0.76459167,0.70591054,   0.83309659,0.67159504,   0.83671485,0.74812927,   0.83309659,0.67159504,   0.91696932,0.67438362,   0.69787908,0.84845996,   0.76410559,0.81592025,   0.76710515,0.86339989,   0.69787908,0.84845996,   0.73083118,0.78457699,   0.76410559,0.81592025,   0.76710515,0.86339989,   0.76410559,0.81592025,   0.85332201,0.79292146,   0.76410559,0.81592025,   0.76459167,0.70591054,   0.83671485,0.74812927,   0.90889348,0.51153926,   0.82106216,0.49696398,   0.8492942,0.39574297,   0.90889348,0.51153926,   0.86630911,0.34672392,   0.9682447,0.45018084,   0.8492942,0.39574297,   0.86630911,0.34672392,   0.90889348,0.51153926,   0.90889348,0.51153926,   0.90236927,0.59669461,   0.82106216,0.49696398,   0.8492942,0.39574297,   0.74317253,0.36396387,   0.86630911,0.34672392,   0.82106216,0.49696398,   0.90236927,0.59669461,   0.82137073,0.58500138,   0.82106216,0.49696398,   0.74317253,0.36396387,   0.8492942,0.39574297,   0.54566383,0.80355101,   0.57382836,0.82064545,   0.5364198,0.87602364,   0.54566383,0.80355101,   0.53098023,0.75929649,   0.57382836,0.82064545,   0.54566383,0.80355101,   0.46659919,0.77674709,   0.52601197,0.76397055,   0.54566383,0.80355101,   0.52601197,0.76397055,   0.5791821,0.76818365,   0.57382836,0.82064545,   0.60476826,0.79888797,   0.59300218,0.882207,   0.57382836,0.82064545,   0.5648889,0.74500636,   0.60476826,0.79888797,   0.53098023,0.75929649,   0.5648889,0.74500636,   0.57382836,0.82064545,   0.5791821,0.76818365,   0.52601197,0.76397055,   0.57326236,0.72481515,   0.53098023,0.75929649,   0.51515366,0.71826295,   0.5648889,0.74500636,   0.76459167,0.70591054,   0.71013011,0.69570605,   0.75842861,0.62245326,   0.76459167,0.70591054,   0.73083118,0.78457699,   0.71013011,0.69570605,   0.75842861,0.62245326,   0.83309659,0.67159504,   0.76459167,0.70591054,   0.75842861,0.62245326,   0.7219674,0.57531659,   0.82137073,0.58500138,   0.71013011,0.69570605,   0.73083118,0.78457699,   0.67643986,0.76323644,   0.71013011,0.69570605,   0.7219674,0.57531659,   0.75842861,0.62245326,   0.71013011,0.69570605,   0.62739604,0.68866485,   0.67600523,0.64725215,   0.38418993,0.70926066,   0.18304305,0.67711051,   0.32596171,0.55231497,   0.38418993,0.70926066,   0.44278899,0.67882182,   0.46659919,0.77674709,   0.38418993,0.70926066,   0.41971963,0.53633461,   0.44278899,0.67882182,   0.44278899,0.67882182,   0.52601197,0.76397055,   0.46659919,0.77674709,   0.44278899,0.67882182,   0.52763241,0.62813803,   0.51468777,0.69099188,   0.60476826,0.79888797,   0.5648889,0.74500636,   0.62125557,0.74598318,   0.60476826,0.79888797,   0.67643986,0.76323644,   0.66238385,0.83151975,   0.62125557,0.74598318,   0.67643986,0.76323644,   0.60476826,0.79888797,   0.62125557,0.74598318,   0.62739604,0.68866485,   0.67643986,0.76323644,   0.5648889,0.74500636,   0.51515366,0.71826295,   0.5764281,0.69145457,   0.5648889,0.74500636,   0.62739604,0.68866485,   0.62125557,0.74598318,   0.04722199,0.42217066,   0.19552426,0.5150661,   0.028893233,0.58833944,   0.04722199,0.42217066,   0.17805773,0.31008355,   0.19552426,0.5150661,   0.97792379,0.55280394,   0.90236927,0.59669461,   0.90889348,0.51153926,   0.19552426,0.5150661,   0.31416075,0.35401659,   0.32596171,0.55231497,   0.19552426,0.5150661,   0.32596171,0.55231497,   0.18304305,0.67711051,   0.17805773,0.31008355,   0.31416075,0.35401659,   0.19552426,0.5150661,   0.86630911,0.34672392,   0.74317253,0.36396387,   0.7495913,0.26653774,   0.52601197,0.76397055,   0.51468777,0.69099188,   0.57326236,0.72481515,   0.51468777,0.69099188,   0.52601197,0.76397055,   0.44278899,0.67882182,   0.48949462,0.66813361,   0.54878368,0.67141075,   0.51515366,0.71826295,   0.83309659,0.67159504,   0.82137073,0.58500138,   0.90236927,0.59669461,   0.82137073,0.58500138,   0.83309659,0.67159504,   0.75842861,0.62245326,   0.82137073,0.58500138,   0.74417336,0.4877339,   0.82106216,0.49696398,   0.31416075,0.35401659,   0.41971963,0.53633461,   0.32596171,0.55231497,   0.31416075,0.35401659,   0.39982566,0.31162603,   0.41971963,0.53633461,   0.7495913,0.26653774,   0.74317253,0.36396387,   0.66061458,0.35567921,   0.32596171,0.55231497,   0.41971963,0.53633461,   0.38418993,0.70926066,   0.41971963,0.53633461,   0.39982566,0.31162603,   0.50356634,0.50299107,   0.41971963,0.53633461,   0.52763241,0.62813803,   0.44278899,0.67882182,   0.66238385,0.83151975,   0.59300218,0.882207,   0.60476826,0.79888797,   0.66238385,0.83151975,   0.73083118,0.78457699,   0.69787908,0.84845996,   0.66238385,0.83151975,   0.67643986,0.76323644,   0.73083118,0.78457699,   0.73083118,0.78457699,   0.76459167,0.70591054,   0.76410559,0.81592025,   0.67643986,0.76323644,   0.62739604,0.68866485,   0.71013011,0.69570605,   0.66061458,0.35567921,   0.59174039,0.48726069,   0.50356634,0.50299107,   0.66061458,0.35567921,   0.66487866,0.47554972,   0.59174039,0.48726069,   0.50356634,0.50299107,   0.52763241,0.62813803,   0.41971963,0.53633461,   0.50356634,0.50299107,   0.57261656,0.58672797,   0.52763241,0.62813803,   0.59174039,0.48726069,   0.6551742,0.56770715,   0.57261656,0.58672797,   0.59174039,0.48726069,   0.57261656,0.58672797,   0.50356634,0.50299107,   0.74417336,0.4877339,   0.82137073,0.58500138,   0.7219674,0.57531659,   0.74417336,0.4877339,   0.74317253,0.36396387,   0.82106216,0.49696398,   0.74417336,0.4877339,   0.66487866,0.47554972,   0.74317253,0.36396387,   0.74417336,0.4877339,   0.7219674,0.57531659,   0.66487866,0.47554972,   0.74317253,0.36396387,   0.66487866,0.47554972,   0.66061458,0.35567921,   0.66487866,0.47554972,   0.7219674,0.57531659,   0.6551742,0.56770715,   0.66487866,0.47554972,   0.6551742,0.56770715,   0.59174039,0.48726069,   0.67600523,0.64725215,   0.7219674,0.57531659,   0.71013011,0.69570605,   0.67600523,0.64725215,   0.6551742,0.56770715,   0.7219674,0.57531659,   0.67600523,0.64725215,   0.62739604,0.68866485,   0.6551742,0.56770715,   0.6551742,0.56770715,   0.62739604,0.68866485,   0.60482777,0.61451489,   0.5764281,0.69145457,   0.62739604,0.68866485,   0.5648889,0.74500636,   0.5764281,0.69145457,   0.60482777,0.61451489,   0.62739604,0.68866485,   0.5764281,0.69145457,   0.54878368,0.67141075,   0.60482777,0.61451489,   0.60482777,0.61451489,   0.54878368,0.67141075,   0.57261656,0.58672797,   0.60482777,0.61451489,   0.57261656,0.58672797,   0.6551742,0.56770715,   0.52763241,0.62813803,   0.54878368,0.67141075,   0.48949462,0.66813361,   0.52763241,0.62813803,   0.57261656,0.58672797,   0.54878368,0.67141075,   0.54878368,0.67141075,   0.5764281,0.69145457,   0.51515366,0.71826295,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.640600035459061,-0.384897891818282,0.664443532170863,   0.640600035459061,-0.384897891818282,0.664443532170863,   0.640600035459061,-0.384897891818282,0.664443532170863,   0.189307227252031,-0.941771290374991,0.27790215964539,   0.189307227252031,-0.941771290374991,0.27790215964539,   0.189307227252031,-0.941771290374991,0.27790215964539,   0.615059664847828,0.101316783568941,0.78194406324527,   0.615059664847828,0.101316783568941,0.78194406324527,   0.615059664847828,0.101316783568941,0.78194406324527,   0.0490170456103017,-0.640267974828601,0.766586100610049,   0.0490170456103017,-0.640267974828601,0.766586100610049,   0.0490170456103017,-0.640267974828601,0.766586100610049,   0.615059691468161,0.101316773707155,0.781944043584107,   0.615059691468161,0.101316773707155,0.781944043584107,   0.615059691468161,0.101316773707155,0.781944043584107,   0.693641118531241,0.34293237933716,0.633450378391932,   0.693641118531241,0.34293237933716,0.633450378391932,   0.693641118531241,0.34293237933716,0.633450378391932,   0.898647060527821,0.0388082265848983,0.436952379732669,   0.898647060527821,0.0388082265848983,0.436952379732669,   0.898647060527821,0.0388082265848983,0.436952379732669,   0.288786196930425,-0.953738721796946,-0.0835762107754924,   0.288786196930425,-0.953738721796946,-0.0835762107754924,   0.288786196930425,-0.953738721796946,-0.0835762107754924,   0.189307032246148,-0.941771339766842,0.277902125101488,   0.189307032246148,-0.941771339766842,0.277902125101488,   0.189307032246148,-0.941771339766842,0.277902125101488,   0.0228360890143053,-0.992501303158065,0.120081956463381,   0.0228360890143053,-0.992501303158065,0.120081956463381,   0.0228360890143053,-0.992501303158065,0.120081956463381,   -0.0352185914172215,-0.987482099701116,0.153748995406349,   -0.0352185914172215,-0.987482099701116,0.153748995406349,   -0.0352185914172215,-0.987482099701116,0.153748995406349,   0.193935618421172,-0.634080468484848,0.748552560207787,   0.193935618421172,-0.634080468484848,0.748552560207787,   0.193935618421172,-0.634080468484848,0.748552560207787,   0.00729031537051618,-0.999871512328208,-0.0142762087509399,   0.00729031537051618,-0.999871512328208,-0.0142762087509399,   0.00729031537051618,-0.999871512328208,-0.0142762087509399,   0.240392168351923,-0.96970131024586,-0.0434853343384185,   0.240392168351923,-0.96970131024586,-0.0434853343384185,   0.240392168351923,-0.96970131024586,-0.0434853343384185,   -0.0352185895764157,-0.987482099536529,0.153748996885105,   -0.0352185895764157,-0.987482099536529,0.153748996885105,   -0.0352185895764157,-0.987482099536529,0.153748996885105,   0.00729023791120114,-0.999871515075846,-0.0142760558674439,   0.00729023791120114,-0.999871515075846,-0.0142760558674439,   0.00729023791120114,-0.999871515075846,-0.0142760558674439,   -0.0824364696990246,-0.980080226307662,0.180684748842516,   -0.0824364696990246,-0.980080226307662,0.180684748842516,   -0.0824364696990246,-0.980080226307662,0.180684748842516,   -0.0607774783613331,-0.573245715411729,0.817126335327734,   -0.0607774783613331,-0.573245715411729,0.817126335327734,   -0.0607774783613331,-0.573245715411729,0.817126335327734,   0.185329320452526,-0.608697980735779,0.771453051863035,   0.185329320452526,-0.608697980735779,0.771453051863035,   0.185329320452526,-0.608697980735779,0.771453051863035,   -0.0879211042577068,-0.99612516211107,-0.00213092357885107,   -0.0879211042577068,-0.99612516211107,-0.00213092357885107,   -0.0879211042577068,-0.99612516211107,-0.00213092357885107,   -0.0694857948494604,-0.976740781601924,0.202852581619759,   -0.0694857948494604,-0.976740781601924,0.202852581619759,   -0.0694857948494604,-0.976740781601924,0.202852581619759,   -0.549406984468949,-0.151753922529128,0.821658513260685,   -0.549406984468949,-0.151753922529128,0.821658513260685,   -0.549406984468949,-0.151753922529128,0.821658513260685,   -0.0607774109414158,-0.573245584431174,0.817126432230301,   -0.0607774109414158,-0.573245584431174,0.817126432230301,   -0.0607774109414158,-0.573245584431174,0.817126432230301,   -0.00128409682494458,0.198138847416126,0.980173121565754,   -0.00128409682494458,0.198138847416126,0.980173121565754,   -0.00128409682494458,0.198138847416126,0.980173121565754,   0.210724201257019,0.252280638364147,0.944430934749159,   0.210724201257019,0.252280638364147,0.944430934749159,   0.210724201257019,0.252280638364147,0.944430934749159,   -0.112340074154598,0.464200953842534,0.878576793564809,   -0.112340074154598,0.464200953842534,0.878576793564809,   -0.112340074154598,0.464200953842534,0.878576793564809,   -0.734243285382096,-0.251296994909264,0.630663633184029,   -0.734243285382096,-0.251296994909264,0.630663633184029,   -0.734243285382096,-0.251296994909264,0.630663633184029,   0.106146278642061,0.603053167220682,0.790607263459896,   0.106146278642061,0.603053167220682,0.790607263459896,   0.106146278642061,0.603053167220682,0.790607263459896,   -0.112340172082223,0.464201003754359,0.878576754671999,   -0.112340172082223,0.464201003754359,0.878576754671999,   -0.112340172082223,0.464201003754359,0.878576754671999,   0.552484560292371,0.316151162372175,0.771238778310108,   0.552484560292371,0.316151162372175,0.771238778310108,   0.552484560292371,0.316151162372175,0.771238778310108,   0.582841465317735,0.435539845607859,0.686003548966154,   0.582841465317735,0.435539845607859,0.686003548966154,   0.582841465317735,0.435539845607859,0.686003548966154,   0.210724081424252,0.252280809925178,0.94443091565842,   0.210724081424252,0.252280809925178,0.94443091565842,   0.210724081424252,0.252280809925178,0.94443091565842,   0.171961411793547,0.578631883240407,0.797254298546976,   0.171961411793547,0.578631883240407,0.797254298546976,   0.171961411793547,0.578631883240407,0.797254298546976,   -0.848979985210112,0.517877258780956,0.105052984489542,   -0.848979985210112,0.517877258780956,0.105052984489542,   -0.848979985210112,0.517877258780956,0.105052984489542,   -0.856882775641672,-0.41881131002961,0.300581096211829,   -0.856882775641672,-0.41881131002961,0.300581096211829,   -0.856882775641672,-0.41881131002961,0.300581096211829,   -0.856882775641672,-0.41881131002961,0.300581096211829,   -0.856882775641672,-0.41881131002961,0.300581096211829,   -0.856882775641672,-0.41881131002961,0.300581096211829,   -0.613838857551129,0.641486778264234,0.460104955713909,   -0.613838857551129,0.641486778264234,0.460104955713909,   -0.613838857551129,0.641486778264234,0.460104955713909,   -0.699167273588937,-0.385152081496047,-0.602347904172892,   -0.699167273588937,-0.385152081496047,-0.602347904172892,   -0.699167273588937,-0.385152081496047,-0.602347904172892,   -0.6138388462233,0.641486788378303,0.46010495672546,   -0.6138388462233,0.641486788378303,0.46010495672546,   -0.6138388462233,0.641486788378303,0.46010495672546,   -0.761608092361733,0.603684273816562,-0.235623452134315,   -0.761608092361733,0.603684273816562,-0.235623452134315,   -0.761608092361733,0.603684273816562,-0.235623452134315,   0.898647061612937,0.0388082233750073,0.436952377786081,   0.898647061612937,0.0388082233750073,0.436952377786081,   0.898647061612937,0.0388082233750073,0.436952377786081,   0.913623240265063,0.37493205138581,0.157221282564402,   0.913623240265063,0.37493205138581,0.157221282564402,   0.913623240265063,0.37493205138581,0.157221282564402,   0.288136321982837,-0.95075182517882,-0.114229710992128,   0.288136321982837,-0.95075182517882,-0.114229710992128,   0.288136321982837,-0.95075182517882,-0.114229710992128,   0.594570414812596,-0.672761318553261,-0.440316057040912,   0.594570414812596,-0.672761318553261,-0.440316057040912,   0.594570414812596,-0.672761318553261,-0.440316057040912,   0.799992982063558,0.375461947632196,0.468016617791819,   0.799992982063558,0.375461947632196,0.468016617791819,   0.799992982063558,0.375461947632196,0.468016617791819,   0.909524712805247,0.384187175032699,0.158634836454442,   0.909524712805247,0.384187175032699,0.158634836454442,   0.909524712805247,0.384187175032699,0.158634836454442,   0.909524799517788,0.384187020138775,0.158634714419686,   0.909524799517788,0.384187020138775,0.158634714419686,   0.909524799517788,0.384187020138775,0.158634714419686,   0.594570415751239,-0.672761318633218,-0.440316055651271,   0.594570415751239,-0.672761318633218,-0.440316055651271,   0.594570415751239,-0.672761318633218,-0.440316055651271,   0.703704517436082,0.205491262288307,-0.680127409580888,   0.703704517436082,0.205491262288307,-0.680127409580888,   0.703704517436082,0.205491262288307,-0.680127409580888,   0.173251325294788,0.86869906863809,0.464053775365436,   0.173251325294788,0.86869906863809,0.464053775365436,   0.173251325294788,0.86869906863809,0.464053775365436,   0.370420735150451,0.745615865908208,0.553936331609106,   0.370420735150451,0.745615865908208,0.553936331609106,   0.370420735150451,0.745615865908208,0.553936331609106,   -0.0270376580357788,0.758152032781383,0.651517045239337,   -0.0270376580357788,0.758152032781383,0.651517045239337,   -0.0270376580357788,0.758152032781383,0.651517045239337,   -0.333544267175588,0.929442071105603,0.157751888398293,   -0.333544267175588,0.929442071105603,0.157751888398293,   -0.333544267175588,0.929442071105603,0.157751888398293,   0.370420766623972,0.745615862241916,0.553936315497506,   0.370420766623972,0.745615862241916,0.553936315497506,   0.370420766623972,0.745615862241916,0.553936315497506,   0.132417179099996,0.989037103091195,0.0653551787403069,   0.132417179099996,0.989037103091195,0.0653551787403069,   0.132417179099996,0.989037103091195,0.0653551787403069,   0.406504815914597,0.913648443307297,0.000597227254095913,   0.406504815914597,0.913648443307297,0.000597227254095913,   0.406504815914597,0.913648443307297,0.000597227254095913,   0.00404020848206433,-0.996101032756082,0.0881272333486508,   0.00404020848206433,-0.996101032756082,0.0881272333486508,   0.00404020848206433,-0.996101032756082,0.0881272333486508,   -0.00810932840244064,-0.989252785718005,-0.145990289889525,   -0.00810932840244064,-0.989252785718005,-0.145990289889525,   -0.00810932840244064,-0.989252785718005,-0.145990289889525,   0.0421819674438488,-0.990388866097031,-0.131721583400762,   0.0421819674438488,-0.990388866097031,-0.131721583400762,   0.0421819674438488,-0.990388866097031,-0.131721583400762,   0.114354268931712,-0.936603728640859,-0.331204705089064,   0.114354268931712,-0.936603728640859,-0.331204705089064,   0.114354268931712,-0.936603728640859,-0.331204705089064,   -0.144838782480458,-0.792757328705007,-0.592079002223589,   -0.144838782480458,-0.792757328705007,-0.592079002223589,   -0.144838782480458,-0.792757328705007,-0.592079002223589,   0.907848882999639,0.387899636107212,0.159198862886015,   0.907848882999639,0.387899636107212,0.159198862886015,   0.907848882999639,0.387899636107212,0.159198862886015,   0.780080584476411,0.470393186073905,0.412558519749842,   0.780080584476411,0.470393186073905,0.412558519749842,   0.780080584476411,0.470393186073905,0.412558519749842,   0.780080596843879,0.470393221511411,0.412558455959656,   0.780080596843879,0.470393221511411,0.412558455959656,   0.780080596843879,0.470393221511411,0.412558455959656,   0.416685386805528,0.90514365390732,0.0841917704650132,   0.416685386805528,0.90514365390732,0.0841917704650132,   0.416685386805528,0.90514365390732,0.0841917704650132,   0.73851474986134,0.174837955917979,-0.651174057689391,   0.73851474986134,0.174837955917979,-0.651174057689391,   0.73851474986134,0.174837955917979,-0.651174057689391,   0.662862717561145,0.692569064293617,-0.284536656427458,   0.662862717561145,0.692569064293617,-0.284536656427458,   0.662862717561145,0.692569064293617,-0.284536656427458,   -0.0694857865378374,-0.976740782019618,0.202852582455641,   -0.0694857865378374,-0.976740782019618,0.202852582455641,   -0.0694857865378374,-0.976740782019618,0.202852582455641,   -0.0613575381018331,-0.974317911892198,0.216656084807486,   -0.0613575381018331,-0.974317911892198,0.216656084807486,   -0.0613575381018331,-0.974317911892198,0.216656084807486,   -0.484044854843421,-0.201656669596427,0.851489968294923,   -0.484044854843421,-0.201656669596427,0.851489968294923,   -0.484044854843421,-0.201656669596427,0.851489968294923,   -0.00233526856119081,-0.997264627559658,0.0738769865319693,   -0.00233526856119081,-0.997264627559658,0.0738769865319693,   -0.00233526856119081,-0.997264627559658,0.0738769865319693,   0.0109504391350984,-0.996160413535144,0.0868591871262842,   0.0109504391350984,-0.996160413535144,0.0868591871262842,   0.0109504391350984,-0.996160413535144,0.0868591871262842,   -0.00233526862942223,-0.997264627556923,0.0738769865667286,   -0.00233526862942223,-0.997264627556923,0.0738769865667286,   -0.00233526862942223,-0.997264627556923,0.0738769865667286,   -0.665448207257968,-0.411044170536024,-0.623074131484776,   -0.665448207257968,-0.411044170536024,-0.623074131484776,   -0.665448207257968,-0.411044170536024,-0.623074131484776,   0.236633171274748,-0.828673595050312,-0.507252220417857,   0.236633171274748,-0.828673595050312,-0.507252220417857,   0.236633171274748,-0.828673595050312,-0.507252220417857,   0.11435426901673,-0.936603727955447,-0.331204706997966,   0.11435426901673,-0.936603727955447,-0.331204706997966,   0.11435426901673,-0.936603727955447,-0.331204706997966,   0.113713079926886,-0.602567706672945,-0.789924992849606,   0.113713079926886,-0.602567706672945,-0.789924992849606,   0.113713079926886,-0.602567706672945,-0.789924992849606,   -0.183572255288068,0.624129075442902,0.759449882661944,   -0.183572255288068,0.624129075442902,0.759449882661944,   -0.183572255288068,0.624129075442902,0.759449882661944,   -0.0270376196068548,0.758152029502705,0.651517050649424,   -0.0270376196068548,0.758152029502705,0.651517050649424,   -0.0270376196068548,0.758152029502705,0.651517050649424,   -0.462309768181665,0.883977869308234,0.0696620758884657,   -0.462309768181665,0.883977869308234,0.0696620758884657,   -0.462309768181665,0.883977869308234,0.0696620758884657,   0.077342234909126,-0.98957216376503,-0.1215117747408,   0.077342234909126,-0.98957216376503,-0.1215117747408,   0.077342234909126,-0.98957216376503,-0.1215117747408,   0.00617095515875168,-0.745481709584991,-0.666497516864593,   0.00617095515875168,-0.745481709584991,-0.666497516864593,   0.00617095515875168,-0.745481709584991,-0.666497516864593,   -0.842899812266919,-0.446187531505355,-0.30072677501272,   -0.842899812266919,-0.446187531505355,-0.30072677501272,   -0.842899812266919,-0.446187531505355,-0.30072677501272,   0.0421818748193015,-0.99038888520901,-0.131721469363136,   0.0421818748193015,-0.99038888520901,-0.131721469363136,   0.0421818748193015,-0.99038888520901,-0.131721469363136,   0.00617098411386942,-0.745481645592029,-0.666497588173031,   0.00617098411386942,-0.745481645592029,-0.666497588173031,   0.00617098411386942,-0.745481645592029,-0.666497588173031,   0.121407501971246,-0.782849814547526,-0.610251084659426,   0.121407501971246,-0.782849814547526,-0.610251084659426,   0.121407501971246,-0.782849814547526,-0.610251084659426,   0.813275340817297,0.35978086610687,0.457319306832656,   0.813275340817297,0.35978086610687,0.457319306832656,   0.813275340817297,0.35978086610687,0.457319306832656,   0.582841537037797,0.43553987958181,0.686003466461563,   0.582841537037797,0.43553987958181,0.686003466461563,   0.582841537037797,0.43553987958181,0.686003466461563,   0.595964484627425,0.510728944418158,0.619663036170694,   0.595964484627425,0.510728944418158,0.619663036170694,   0.595964484627425,0.510728944418158,0.619663036170694,   0.267841709541709,0.611610143007963,0.744441973292448,   0.267841709541709,0.611610143007963,0.744441973292448,   0.267841709541709,0.611610143007963,0.744441973292448,   0.499657975672013,0.863292781576393,0.0711862390173839,   0.499657975672013,0.863292781576393,0.0711862390173839,   0.499657975672013,0.863292781576393,0.0711862390173839,   -0.0571616222112343,-0.319598616521682,-0.945827295685426,   -0.0571616222112343,-0.319598616521682,-0.945827295685426,   -0.0571616222112343,-0.319598616521682,-0.945827295685426,   -0.415749011338237,0.229228468678528,-0.8801176448172,   -0.415749011338237,0.229228468678528,-0.8801176448172,   -0.415749011338237,0.229228468678528,-0.8801176448172,   0.0676406285450162,-0.740233044211907,-0.668939298910453,   0.0676406285450162,-0.740233044211907,-0.668939298910453,   0.0676406285450162,-0.740233044211907,-0.668939298910453,   -0.042737126778154,-0.314265675564981,-0.948372618308033,   -0.042737126778154,-0.314265675564981,-0.948372618308033,   -0.042737126778154,-0.314265675564981,-0.948372618308033,   -0.186145414636915,0.50720471632389,-0.841482774837639,   -0.186145414636915,0.50720471632389,-0.841482774837639,   -0.186145414636915,0.50720471632389,-0.841482774837639,   -0.0427370019916678,-0.314265794777,-0.948372584427631,   -0.0427370019916678,-0.314265794777,-0.948372584427631,   -0.0427370019916678,-0.314265794777,-0.948372584427631,   -0.448999438129508,0.891065888190152,0.0663406923635973,   -0.448999438129508,0.891065888190152,0.0663406923635973,   -0.448999438129508,0.891065888190152,0.0663406923635973,   -0.761608104823891,0.603684261876473,-0.235623442444125,   -0.761608104823891,0.603684261876473,-0.235623442444125,   -0.761608104823891,0.603684261876473,-0.235623442444125,   -0.578901089230433,0.611024412497528,-0.539928417681334,   -0.578901089230433,0.611024412497528,-0.539928417681334,   -0.578901089230433,0.611024412497528,-0.539928417681334,   -0.328060272695367,0.814833035058542,-0.477936797554162,   -0.328060272695367,0.814833035058542,-0.477936797554162,   -0.328060272695367,0.814833035058542,-0.477936797554162,   -0.415749037838546,0.229228483905588,-0.880117628333093,   -0.415749037838546,0.229228483905588,-0.880117628333093,   -0.415749037838546,0.229228483905588,-0.880117628333093,   -0.328060276280855,0.814833035009724,-0.477936795176277,   -0.328060276280855,0.814833035009724,-0.477936795176277,   -0.328060276280855,0.814833035009724,-0.477936795176277,   -0.0957565473338303,0.467799513367747,-0.878632061181245,   -0.0957565473338303,0.467799513367747,-0.878632061181245,   -0.0957565473338303,0.467799513367747,-0.878632061181245,   0.132417179499332,0.989037103100465,0.0653551777909111,   0.132417179499332,0.989037103100465,0.0653551777909111,   0.132417179499332,0.989037103100465,0.0653551777909111,   0.075225443060936,0.948686270349978,-0.307140836043881,   0.075225443060936,0.948686270349978,-0.307140836043881,   0.075225443060936,0.948686270349978,-0.307140836043881,   0.191906993763866,0.881671781089691,-0.431076067735902,   0.191906993763866,0.881671781089691,-0.431076067735902,   0.191906993763866,0.881671781089691,-0.431076067735902,   0.191906994694242,0.881671775254814,-0.43107607925568,   0.191906994694242,0.881671775254814,-0.43107607925568,   0.191906994694242,0.881671775254814,-0.43107607925568,   0.662862693862111,0.692569038047424,-0.284536775521077,   0.662862693862111,0.692569038047424,-0.284536775521077,   0.662862693862111,0.692569038047424,-0.284536775521077,   0.320962962762576,0.764966127142711,-0.558399141169603,   0.320962962762576,0.764966127142711,-0.558399141169603,   0.320962962762576,0.764966127142711,-0.558399141169603,   0.209185078644524,0.353803227299244,-0.911627598981691,   0.209185078644524,0.353803227299244,-0.911627598981691,   0.209185078644524,0.353803227299244,-0.911627598981691,   0.20918511659579,0.353803260820144,-0.911627577263785,   0.20918511659579,0.353803260820144,-0.911627577263785,   0.20918511659579,0.353803260820144,-0.911627577263785,   -0.154718261570701,0.52547515000122,-0.836623049089455,   -0.154718261570701,0.52547515000122,-0.836623049089455,   -0.154718261570701,0.52547515000122,-0.836623049089455,   0.113713107395018,-0.602567708977925,-0.789924987137173,   0.113713107395018,-0.602567708977925,-0.789924987137173,   0.113713107395018,-0.602567708977925,-0.789924987137173,   -0.0188684894844931,-0.305282321975843,-0.952074936122998,   -0.0188684894844931,-0.305282321975843,-0.952074936122998,   -0.0188684894844931,-0.305282321975843,-0.952074936122998,   0.585669849954908,0.0809942693030834,-0.806492873616287,   0.585669849954908,0.0809942693030834,-0.806492873616287,   0.585669849954908,0.0809942693030834,-0.806492873616287,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 348 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 348 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Building_Default'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.381,-0.381,0.381,   0.381,-0.381,0.381,   -0.381,0.381,0.381,   -0.381,0.381,0.381,   0.381,-0.381,0.381,   0.381,0.381,0.381,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1,   0,1,   1,0,   1,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Default'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.381,-0.381,-0.381,   0.381,0.381,-0.381,   0.381,-0.381,-0.381,   -0.381,0.381,-0.381,   0.381,0.381,-0.381,   -0.381,-0.381,-0.381,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Default'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.381,0.381,0.381,   0.381,0.381,-0.381,   -0.381,0.381,-0.381,   0.381,0.381,0.381,   0.381,0.381,-0.381,   -0.381,0.381,0.381,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Default'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.381,0.381,0.381,   -0.381,-0.381,-0.381,   -0.381,-0.381,0.381,   -0.381,0.381,-0.381,   -0.381,-0.381,-0.381,   -0.381,0.381,0.381,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1,   0,0,   1,0,   0,1,   0,0,   1,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Default'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.381,-0.381,0.381,   0.381,0.381,-0.381,   0.381,0.381,0.381,   0.381,-0.381,-0.381,   0.381,0.381,-0.381,   0.381,-0.381,0.381,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Default'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.381,-0.381,0.381,   -0.381,-0.381,-0.381,   0.381,-0.381,0.381,   0.381,-0.381,0.381,   -0.381,-0.381,-0.381,   0.381,-0.381,-0.381,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Building_Door'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.05,-0.5,0.05,   -0.45,0.5,0.05,   -0.45,-0.5,0.05,   -0.05,0.5,0.05,   -0.45,0.5,0.05,   -0.05,-0.5,0.05,   0.05,0.5,0.05,   0.45,-0.5,0.05,   0.45,0.5,0.05,   0.05,-0.5,0.05,   0.45,-0.5,0.05,   0.05,0.5,0.05,   -0.05,-0.5,0.45,   0.05,-0.5,0.45,   -0.05,0.5,0.45,   0.05,-0.5,0.45,   0.05,0.5,0.45,   -0.05,0.5,0.45,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.6,0,   1,1,   1,0,   0.6,1,   1,1,   0.6,0,   0.5,1,   0.1,0,   0.1,1,   0.5,0,   0.1,0,   0.5,1,   1,0,   0.9,0,   1,1,   0.9,0,   0.9,1,   1,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Door'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.05,-0.5,-0.05,   -0.45,-0.5,-0.05,   -0.05,0.5,-0.05,   0.05,0.5,-0.05,   0.45,0.5,-0.05,   0.05,-0.5,-0.05,   0.45,0.5,-0.05,   0.45,-0.5,-0.05,   0.05,-0.5,-0.05,   -0.05,0.5,-0.45,   0.05,0.5,-0.45,   -0.05,-0.5,-0.45,   0.05,0.5,-0.45,   0.05,-0.5,-0.45,   -0.05,-0.5,-0.45,   -0.45,-0.5,-0.05,   -0.45,0.5,-0.05,   -0.05,0.5,-0.05,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.5,0,   0.9,0,   0.5,1,   0.4,1,   0,1,   0.4,0,   0,1,   0,0,   0.4,0,   0.1,1,   0,1,   0.1,0,   0,1,   0,0,   0.1,0,   0.9,0,   0.9,1,   0.5,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Door'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.05,0.5,0.05,   0.05,0.5,-0.05,   -0.05,0.5,-0.05,   -0.05,0.5,0.05,   0.05,0.5,0.45,   0.05,0.5,0.05,   0.05,0.5,0.05,   0.05,0.5,-0.05,   -0.05,0.5,0.05,   0.05,0.5,0.05,   0.45,0.5,-0.05,   0.05,0.5,-0.05,   0.05,0.5,0.05,   0.45,0.5,0.05,   0.45,0.5,-0.05,   -0.05,0.5,-0.05,   0.05,0.5,-0.45,   -0.05,0.5,-0.45,   -0.05,0.5,-0.05,   -0.45,0.5,0.05,   -0.05,0.5,0.05,   -0.05,0.5,-0.05,   -0.45,0.5,-0.05,   -0.45,0.5,0.05,   0.05,0.5,-0.05,   0.05,0.5,-0.45,   -0.05,0.5,-0.05,   -0.05,0.5,0.45,   0.05,0.5,0.45,   -0.05,0.5,0.05,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.44444444,0.44444444,   0.55555556,0.55555556,   0.44444444,0.55555556,   0.44444444,0.44444444,   0.55555556,0,   0.55555556,0.44444444,   0.55555556,0.44444444,   0.55555556,0.55555556,   0.44444444,0.44444444,   0.55555556,0.44444444,   1,0.55555556,   0.55555556,0.55555556,   0.55555556,0.44444444,   1,0.44444444,   1,0.55555556,   0.44444444,0.55555556,   0.55555556,1,   0.44444444,1,   0.44444444,0.55555556,   0,0.44444444,   0.44444444,0.44444444,   0.44444444,0.55555556,   0,0.55555556,   0,0.44444444,   0.55555556,0.55555556,   0.55555556,1,   0.44444444,0.55555556,   0.44444444,0,   0.55555556,0,   0.44444444,0.44444444,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 30 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 30 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Door'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.05,-0.5,0.05,   -0.05,0.5,0.45,   -0.05,0.5,0.05,   -0.05,-0.5,0.05,   -0.05,-0.5,0.45,   -0.05,0.5,0.45,   -0.05,0.5,-0.05,   -0.05,-0.5,-0.45,   -0.05,-0.5,-0.05,   -0.05,0.5,-0.05,   -0.05,0.5,-0.45,   -0.05,-0.5,-0.45,   -0.45,-0.5,0.05,   -0.45,0.5,0.05,   -0.45,-0.5,-0.05,   -0.45,0.5,0.05,   -0.45,0.5,-0.05,   -0.45,-0.5,-0.05,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.6,0,   1,1,   0.6,1,   0.6,0,   1,0,   1,1,   0.5,1,   0.1,0,   0.5,0,   0.5,1,   0.1,1,   0.1,0,   1,0,   1,1,   0.9,0,   1,1,   0.9,1,   0.9,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Door'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.05,0.5,0.05,   0.05,-0.5,0.45,   0.05,-0.5,0.05,   0.05,0.5,0.05,   0.05,0.5,0.45,   0.05,-0.5,0.45,   0.05,-0.5,-0.05,   0.05,0.5,-0.45,   0.05,0.5,-0.05,   0.05,-0.5,-0.05,   0.05,-0.5,-0.45,   0.05,0.5,-0.45,   0.45,0.5,0.05,   0.45,-0.5,0.05,   0.45,0.5,-0.05,   0.45,-0.5,0.05,   0.45,-0.5,-0.05,   0.45,0.5,-0.05,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.5,1,   0.9,0,   0.5,0,   0.5,1,   0.9,1,   0.9,0,   0.4,0,   0,1,   0.4,1,   0.4,0,   0,0,   0,1,   0.1,1,   0.1,0,   0,1,   0.1,0,   0,0,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Door'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.05,-0.5,0.05,   0.05,-0.5,-0.05,   0.05,-0.5,0.05,   -0.05,-0.5,0.05,   0.05,-0.5,0.45,   -0.05,-0.5,0.45,   -0.05,-0.5,0.05,   -0.45,-0.5,-0.05,   -0.05,-0.5,-0.05,   -0.05,-0.5,0.05,   -0.45,-0.5,0.05,   -0.45,-0.5,-0.05,   0.05,-0.5,0.05,   0.05,-0.5,0.45,   -0.05,-0.5,0.05,   -0.05,-0.5,-0.05,   0.05,-0.5,-0.05,   -0.05,-0.5,0.05,   -0.05,-0.5,-0.05,   -0.05,-0.5,-0.45,   0.05,-0.5,-0.05,   0.05,-0.5,-0.05,   0.45,-0.5,0.05,   0.05,-0.5,0.05,   0.05,-0.5,-0.05,   0.45,-0.5,-0.05,   0.45,-0.5,0.05,   -0.05,-0.5,-0.45,   0.05,-0.5,-0.45,   0.05,-0.5,-0.05,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.44444444,0.55555556,   0.55555556,0.44444444,   0.55555556,0.55555556,   0.44444444,0.55555556,   0.55555556,1,   0.44444444,1,   0.44444444,0.55555556,   0,0.44444444,   0.44444444,0.44444444,   0.44444444,0.55555556,   0,0.55555556,   0,0.44444444,   0.55555556,0.55555556,   0.55555556,1,   0.44444444,0.55555556,   0.44444444,0.44444444,   0.55555556,0.44444444,   0.44444444,0.55555556,   0.44444444,0.44444444,   0.44444444,0,   0.55555556,0.44444444,   0.55555556,0.44444444,   1,0.55555556,   0.55555556,0.55555556,   0.55555556,0.44444444,   1,0.44444444,   1,0.55555556,   0.44444444,0,   0.55555556,0,   0.55555556,0.44444444,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 30 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 30 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Building_Workshop'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.49999961,-0.39999974,2.5,   2.50000039,-0.39999974,2.5,   -0.49999961,-0.29999974,2.5,   -0.49999961,-0.29999974,2.5,   2.50000039,-0.39999974,2.5,   2.50000039,-0.29999974,2.5,   2.50000039,-0.29999974,1.5,   2.50000039,0.20000026,1.5,   1.50000039,-0.29999974,1.5,   1.50000039,-0.29999974,1.5,   2.50000039,0.20000026,1.5,   1.50000039,0.20000026,1.5,   0.50000039,-0.29999974,1.5,   0.50000039,0.20000026,1.5,   -0.49999961,-0.29999974,1.5,   0.50000039,0.20000026,1.5,   -0.49999961,0.20000026,1.5,   -0.49999961,-0.29999974,1.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (-1,0.45,   2,0.45,   -1,0.55,   -1,0.55,   2,0.45,   2,0.55,   1,0.25,   1,0.75,   9.9920072e-016,0.25,   9.9920072e-016,0.25,   1,0.75,   0,0.75,   1,0.25,   1,0.75,   0,0.25,   1,0.75,   0,0.75,   0,0.25,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Workshop'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.49999961,-0.39999974,-0.5,   1.50000039,-0.29999974,-0.5,   2.50000039,-0.39999974,-0.5,   -0.49999961,-0.29999974,-0.5,   1.50000039,-0.29999974,-0.5,   -0.49999961,-0.39999974,-0.5,   2.50000039,-0.29999974,-0.5,   1.50000039,0.20000026,-0.5,   2.50000039,0.20000026,-0.5,   2.50000039,-0.39999974,-0.5,   1.50000039,-0.29999974,-0.5,   2.50000039,-0.29999974,-0.5,   -0.49999961,-0.29999974,0.5,   -0.49999961,0.20000026,0.5,   0.50000039,-0.29999974,0.5,   1.50000039,-0.29999974,-0.5,   1.50000039,0.20000026,-0.5,   2.50000039,-0.29999974,-0.5,   0.50000039,-0.29999974,0.5,   -0.49999961,0.20000026,0.5,   0.50000039,0.20000026,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (2,0.2,   0,0.3,   -1,0.2,   2,0.3,   0,0.3,   2,0.2,   -1,0.3,   8.8817842e-016,0.8,   -1,0.8,   -1,0.2,   0,0.3,   -1,0.3,   1,0.25,   1,0.75,   6.6613381e-016,0.25,   0,0.3,   8.8817842e-016,0.8,   -1,0.3,   6.6613381e-016,0.25,   1,0.75,   0,0.75,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 21 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 21 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Workshop'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.49999961,-0.29999974,2.5,   0.50000039,-0.29999974,1.5,   -0.49999961,-0.29999974,1.5,   2.50000039,-0.29999974,2.5,   0.50000039,-0.29999974,1.5,   -0.49999961,-0.29999974,2.5,   -0.49999961,-0.29999974,-0.5,   0.50000039,-0.29999974,0.5,   1.50000039,-0.29999974,-0.5,   -0.49999961,-0.29999974,0.5,   0.50000039,-0.29999974,0.5,   -0.49999961,-0.29999974,-0.5,   2.50000039,-0.29999974,1.5,   1.50000039,-0.29999974,1.5,   2.50000039,-0.29999974,2.5,   0.50000039,-0.29999974,0.5,   1.50000039,-0.29999974,1.5,   1.50000039,-0.29999974,-0.5,   0.50000039,-0.29999974,0.5,   0.50000039,-0.29999974,1.5,   1.50000039,-0.29999974,1.5,   1.50000039,-0.29999974,1.5,   0.50000039,-0.29999974,1.5,   2.50000039,-0.29999974,2.5,   2.50000039,0.20000026,1.5,   1.50000039,0.20000026,-0.5,   1.50000039,0.20000026,1.5,   2.50000039,0.20000026,-0.5,   1.50000039,0.20000026,-0.5,   2.50000039,0.20000026,1.5,   0.50000039,0.20000026,0.5,   -0.49999961,0.20000026,0.5,   0.50000039,0.20000026,1.5,   -0.49999961,0.20000026,0.5,   -0.49999961,0.20000026,1.5,   0.50000039,0.20000026,1.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (-1,-1,   0,0,   -1,0,   2,-1,   0,0,   -1,-1,   -1,2,   0,1,   1,2,   -1,1,   0,1,   -1,2,   2,8.8817842e-016,   1,0,   2,-1,   0,1,   1,0,   1,2,   0,1,   0,0,   1,0,   1,0,   0,0,   2,-1,   1,-0.5,   6.6613381e-016,1.5,   8.8817842e-016,-0.5,   1,1.5,   6.6613381e-016,1.5,   1,-0.5,   1,1,   0,1,   1,0,   0,1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 36 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 36 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Workshop'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.49999961,-0.39999974,2.5,   -0.49999961,-0.29999974,0.5,   -0.49999961,-0.39999974,-0.5,   -0.49999961,-0.29999974,2.5,   -0.49999961,-0.29999974,1.5,   -0.49999961,-0.39999974,2.5,   -0.49999961,-0.39999974,-0.5,   -0.49999961,-0.29999974,0.5,   -0.49999961,-0.29999974,-0.5,   -0.49999961,-0.29999974,1.5,   -0.49999961,-0.29999974,0.5,   -0.49999961,-0.39999974,2.5,   -0.49999961,-0.29999974,1.5,   -0.49999961,0.20000026,1.5,   -0.49999961,-0.29999974,0.5,   -0.49999961,-0.29999974,0.5,   -0.49999961,0.20000026,1.5,   -0.49999961,0.20000026,0.5,   1.50000039,-0.29999974,1.5,   1.50000039,0.20000026,-0.5,   1.50000039,-0.29999974,-0.5,   1.50000039,0.20000026,1.5,   1.50000039,0.20000026,-0.5,   1.50000039,-0.29999974,1.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (2,0.2,   3.3306691e-016,0.3,   -1,0.2,   2,0.3,   1,0.3,   2,0.2,   -1,0.2,   3.3306691e-016,0.3,   -1,0.3,   1,0.3,   3.3306691e-016,0.3,   2,0.2,   1,0.3,   1,0.8,   3.3306691e-016,0.3,   3.3306691e-016,0.3,   1,0.8,   3.3306691e-016,0.8,   1.5,0.25,   -0.5,0.75,   -0.5,0.25,   1.5,0.75,   -0.5,0.75,   1.5,0.25,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 24 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 24 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Workshop'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (2.50000039,-0.39999974,2.5,   2.50000039,-0.29999974,1.5,   2.50000039,-0.29999974,2.5,   2.50000039,-0.29999974,-0.5,   2.50000039,-0.29999974,1.5,   2.50000039,-0.39999974,-0.5,   2.50000039,-0.29999974,-0.5,   2.50000039,0.20000026,1.5,   2.50000039,-0.29999974,1.5,   2.50000039,-0.29999974,-0.5,   2.50000039,0.20000026,-0.5,   2.50000039,0.20000026,1.5,   2.50000039,-0.39999974,-0.5,   2.50000039,-0.29999974,1.5,   2.50000039,-0.39999974,2.5,   0.50000039,-0.29999974,0.5,   0.50000039,0.20000026,1.5,   0.50000039,-0.29999974,1.5,   0.50000039,-0.29999974,0.5,   0.50000039,0.20000026,0.5,   0.50000039,0.20000026,1.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (-1,0.2,   0,0.3,   -1,0.3,   2,0.3,   0,0.3,   2,0.2,   2,0.3,   0,0.8,   0,0.3,   2,0.3,   2,0.8,   0,0.8,   2,0.2,   0,0.3,   -1,0.2,   1,0.25,   0,0.75,   4.4408921e-016,0.25,   1,0.25,   1,0.75,   0,0.75,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 21 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 21 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Building_Workshop'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.49999961,-0.39999974,2.5,   -0.49999961,-0.39999974,-0.5,   2.50000039,-0.39999974,2.5,   -0.49999961,-0.39999974,-0.5,   2.50000039,-0.39999974,-0.5,   2.50000039,-0.39999974,2.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (2,-1,   2,2,   -1,-1,   2,2,   -1,2,   -1,-1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Creature'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.24893238,-0.40000108,0.23697022,   0.19089706,-0.39975798,0.20074104,   0.24891632,-0.40007133,0.20068348,   0.24893238,-0.40000108,0.23697022,   0.19267622,-0.39996618,0.23644234,   0.19089706,-0.39975798,0.20074104,   0.24893238,-0.40000108,0.23697022,   0.22214111,-0.38136854,0.23530454,   0.19267622,-0.39996618,0.23644234,   0.24893238,-0.40000108,0.23697022,   0.24686221,-0.38798213,0.23548985,   0.22214111,-0.38136854,0.23530454,   0.24893238,-0.40000108,0.23697022,   0.24699627,-0.38787399,0.20187339,   0.24686221,-0.38798213,0.23548985,   0.24891632,-0.40007133,0.20068348,   0.24699627,-0.38787399,0.20187339,   0.24893238,-0.40000108,0.23697022,   0.24891632,-0.40007133,0.20068348,   0.2221594,-0.38095757,0.20292514,   0.24699627,-0.38787399,0.20187339,   0.19089706,-0.39975798,0.20074104,   0.2221594,-0.38095757,0.20292514,   0.24891632,-0.40007133,0.20068348,   0.19089706,-0.39975798,0.20074104,   0.19296872,-0.38363849,0.20287437,   0.2221594,-0.38095757,0.20292514,   0.19267622,-0.39996618,0.23644234,   0.22214111,-0.38136854,0.23530454,   0.19502189,-0.38364257,0.23467053,   0.19267622,-0.39996618,0.23644234,   0.19296872,-0.38363849,0.20287437,   0.19089706,-0.39975798,0.20074104,   0.19502189,-0.38364257,0.23467053,   0.20393624,-0.33425552,0.234249,   0.19830427,-0.33455717,0.20334415,   0.19502189,-0.38364257,0.23467053,   0.19296872,-0.38363849,0.20287437,   0.19267622,-0.39996618,0.23644234,   0.22214111,-0.38136854,0.23530454,   0.20393624,-0.33425552,0.234249,   0.19502189,-0.38364257,0.23467053,   0.22214111,-0.38136854,0.23530454,   0.2221594,-0.38095757,0.20292514,   0.2245383,-0.33470067,0.20291904,   0.2230594,-0.28382715,0.24146528,   0.22516735,-0.20138611,0.25649462,   0.19344428,-0.28365118,0.24143809,   0.2230594,-0.28382715,0.24146528,   0.22182277,-0.33424607,0.23278775,   0.23393498,-0.2834311,0.19534928,   0.2230594,-0.28382715,0.24146528,   0.20393624,-0.33425552,0.234249,   0.22182277,-0.33424607,0.23278775,   0.2230594,-0.28382715,0.24146528,   0.2448192,-0.2015549,0.21012921,   0.22516735,-0.20138611,0.25649462,   0.23393498,-0.2834311,0.19534928,   0.23973646,-0.28396309,0.21000507,   0.2230594,-0.28382715,0.24146528,   0.23393498,-0.2834311,0.19534928,   0.22182277,-0.33424607,0.23278775,   0.2245383,-0.33470067,0.20291904,   0.23393498,-0.2834311,0.19534928,   0.19830427,-0.33455717,0.20334415,   0.18894723,-0.28354869,0.19518668,   0.23393498,-0.2834311,0.19534928,   0.23373675,-0.28371668,0.18177962,   0.23973646,-0.28396309,0.21000507,   0.23393498,-0.2834311,0.19534928,   0.19335096,-0.28344105,0.18207849,   0.23373675,-0.28371668,0.18177962,   0.18894723,-0.28354869,0.19518668,   0.19830427,-0.33455717,0.20334415,   0.19344428,-0.28365118,0.24143809,   0.18894723,-0.28354869,0.19518668,   0.19335096,-0.28344105,0.18207849,   0.23393498,-0.2834311,0.19534928,   0.19344428,-0.28365118,0.24143809,   0.18334297,-0.28330988,0.20981518,   0.18894723,-0.28354869,0.19518668,   0.19344428,-0.28365118,0.24143809,   0.18156299,-0.17102921,0.23372194,   0.18334297,-0.28330988,0.20981518,   0.19344428,-0.28365118,0.24143809,   0.19444232,-0.20157087,0.25602613,   0.18156299,-0.17102921,0.23372194,   0.19344428,-0.28365118,0.24143809,   0.20393624,-0.33425552,0.234249,   0.2230594,-0.28382715,0.24146528,   0.23973646,-0.28396309,0.21000507,   0.2448192,-0.2015549,0.21012921,   0.2230594,-0.28382715,0.24146528,   0.23973646,-0.28396309,0.21000507,   0.24525286,-0.20148256,0.16684914,   0.2448192,-0.2015549,0.21012921,   0.23973646,-0.28396309,0.21000507,   0.23935864,-0.28360778,0.16673705,   0.24525286,-0.20148256,0.16684914,   0.18334297,-0.28330988,0.20981518,   0.1832855,-0.28390253,0.1670218,   0.18894723,-0.28354869,0.19518668,   0.22182466,-0.17083083,0.27072021,   0.22516735,-0.20138611,0.25649462,   0.23860546,-0.17071243,0.23357034,   0.22182466,-0.17083083,0.27072021,   0.20977311,-0.1606708,0.25001935,   0.19733197,-0.17130028,0.27037078,   0.19733197,-0.17130028,0.27037078,   0.22494945,-0.20170243,0.29061868,   0.22182466,-0.17083083,0.27072021,   0.19733197,-0.17130028,0.27037078,   0.19423491,-0.20152183,0.29112016,   0.22494945,-0.20170243,0.29061868,   0.19733197,-0.17130028,0.27037078,   0.19444232,-0.20157087,0.25602613,   0.19423491,-0.20152183,0.29112016,   0.19733197,-0.17130028,0.27037078,   0.20977311,-0.1606708,0.25001935,   0.18156299,-0.17102921,0.23372194,   0.23860546,-0.17071243,0.23357034,   0.23849199,-0.17053235,0.2126184,   0.21787042,-0.15574491,0.2057368,   0.23860546,-0.17071243,0.23357034,   0.20977311,-0.1606708,0.25001935,   0.22182466,-0.17083083,0.27072021,   0.23860546,-0.17071243,0.23357034,   0.2448192,-0.2015549,0.21012921,   0.23849199,-0.17053235,0.2126184,   0.18156299,-0.17102921,0.23372194,   0.19444232,-0.20157087,0.25602613,   0.19733197,-0.17130028,0.27037078,   0.18156299,-0.17102921,0.23372194,   0.20977311,-0.1606708,0.25001935,   0.20056562,-0.15575769,0.19709418,   0.18156299,-0.17102921,0.23372194,   0.18213177,-0.17064596,0.14321915,   0.18334297,-0.28330988,0.20981518,   0.18156299,-0.17102921,0.23372194,   0.2002536,-0.15615738,0.17964877,   0.18213177,-0.17064596,0.14321915,   0.22494945,-0.20170243,0.29061868,   0.22516735,-0.20138611,0.25649462,   0.22182466,-0.17083083,0.27072021,   0.22494945,-0.20170243,0.29061868,   0.22232482,-0.20126626,0.28788647,   0.22516735,-0.20138611,0.25649462,   0.19423491,-0.20152183,0.29112016,   0.22232482,-0.20126626,0.28788647,   0.22494945,-0.20170243,0.29061868,   0.22516735,-0.20138611,0.25649462,   0.19444232,-0.20157087,0.25602613,   0.19344428,-0.28365118,0.24143809,   0.22516735,-0.20138611,0.25649462,   0.21864838,-0.23723639,0.2595234,   0.19444232,-0.20157087,0.25602613,   0.22516735,-0.20138611,0.25649462,   0.2448192,-0.2015549,0.21012921,   0.23860546,-0.17071243,0.23357034,   0.19444232,-0.20157087,0.25602613,   0.19653461,-0.20152148,0.28825853,   0.19423491,-0.20152183,0.29112016,   0.19444232,-0.20157087,0.25602613,   0.19206683,-0.25127742,0.26364878,   0.19653461,-0.20152148,0.28825853,   0.19653461,-0.20152148,0.28825853,   0.22232482,-0.20126626,0.28788647,   0.19423491,-0.20152183,0.29112016,   0.19653461,-0.20152148,0.28825853,   0.21902679,-0.23712472,0.28558396,   0.22232482,-0.20126626,0.28788647,   0.19653461,-0.20152148,0.28825853,   0.19206683,-0.25127742,0.26364878,   0.19249562,-0.25124118,0.28180255,   0.22232482,-0.20126626,0.28788647,   0.21864838,-0.23723639,0.2595234,   0.22516735,-0.20138611,0.25649462,   0.19249562,-0.25124118,0.28180255,   0.21902679,-0.23712472,0.28558396,   0.19653461,-0.20152148,0.28825853,   0.19249562,-0.25124118,0.28180255,   0.21355232,-0.26922221,0.28772292,   0.21902679,-0.23712472,0.28558396,   0.21902679,-0.23712472,0.28558396,   0.21864838,-0.23723639,0.2595234,   0.22232482,-0.20126626,0.28788647,   0.21902679,-0.23712472,0.28558396,   0.22780619,-0.2476754,0.28833435,   0.21864838,-0.23723639,0.2595234,   0.21864838,-0.23723639,0.2595234,   0.19206683,-0.25127742,0.26364878,   0.19444232,-0.20157087,0.25602613,   0.21864838,-0.23723639,0.2595234,   0.21305561,-0.26919101,0.2571209,   0.19206683,-0.25127742,0.26364878,   0.21864838,-0.23723639,0.2595234,   0.22780619,-0.2476754,0.28833435,   0.22806933,-0.24793261,0.25687079,   0.19206683,-0.25127742,0.26364878,   0.21305561,-0.26919101,0.2571209,   0.19249562,-0.25124118,0.28180255,   0.2245383,-0.33470067,0.20291904,   0.22182277,-0.33424607,0.23278775,   0.22214111,-0.38136854,0.23530454,   0.2245383,-0.33470067,0.20291904,   0.19830427,-0.33455717,0.20334415,   0.23393498,-0.2834311,0.19534928,   0.2245383,-0.33470067,0.20291904,   0.2221594,-0.38095757,0.20292514,   0.19830427,-0.33455717,0.20334415,   0.22182277,-0.33424607,0.23278775,   0.20393624,-0.33425552,0.234249,   0.22214111,-0.38136854,0.23530454,   0.19830427,-0.33455717,0.20334415,   0.20393624,-0.33425552,0.234249,   0.19344428,-0.28365118,0.24143809,   0.19830427,-0.33455717,0.20334415,   0.19296872,-0.38363849,0.20287437,   0.19502189,-0.38364257,0.23467053,   0.21787042,-0.15574491,0.2057368,   0.20021121,-0.15248773,0.19706166,   0.20056562,-0.15575769,0.19709418,   0.21787042,-0.15574491,0.2057368,   0.20977311,-0.1606708,0.25001935,   0.23860546,-0.17071243,0.23357034,   0.21787042,-0.15574491,0.2057368,   0.21994299,-0.14631566,0.21300977,   0.20021121,-0.15248773,0.19706166,   0.20056562,-0.15575769,0.19709418,   0.20977311,-0.1606708,0.25001935,   0.21787042,-0.15574491,0.2057368,   0.20056562,-0.15575769,0.19709418,   0.2002536,-0.15615738,0.17964877,   0.18156299,-0.17102921,0.23372194,   0.20021121,-0.15248773,0.19706166,   0.2002536,-0.15615738,0.17964877,   0.20056562,-0.15575769,0.19709418,   0.23849199,-0.17053235,0.2126184,   0.25397424,-0.20117921,0.2012819,   0.24521634,-0.15557947,0.20262179,   0.23849199,-0.17053235,0.2126184,   0.2448192,-0.2015549,0.21012921,   0.25397424,-0.20117921,0.2012819,   0.23849199,-0.17053235,0.2126184,   0.21994299,-0.14631566,0.21300977,   0.21787042,-0.15574491,0.2057368,   0.24088701,-0.1201289,0.20119032,   0.23717869,-0.1209541,0.19854637,   0.23909761,-0.12004874,0.19242806,   0.24088701,-0.1201289,0.20119032,   0.23683294,-0.12310224,0.19963539,   0.23717869,-0.1209541,0.19854637,   0.24088701,-0.1201289,0.20119032,   0.24169611,-0.11554224,0.19974891,   0.22798632,-0.11993476,0.21091412,   0.22798632,-0.11993476,0.21091412,   0.24073346,-0.12533826,0.20138552,   0.24088701,-0.1201289,0.20119032,   0.22798632,-0.11993476,0.21091412,   0.24169611,-0.11554224,0.19974891,   0.22602943,-0.11756822,0.21254506,   0.22798632,-0.11993476,0.21091412,   0.22909495,-0.13152177,0.20907414,   0.24073346,-0.12533826,0.20138552,   0.22798632,-0.11993476,0.21091412,   0.2182893,-0.132631,0.21143202,   0.22909495,-0.13152177,0.20907414,   0.24073346,-0.12533826,0.20138552,   0.23683294,-0.12310224,0.19963539,   0.24088701,-0.1201289,0.20119032,   0.24073346,-0.12533826,0.20138552,   0.22909495,-0.13152177,0.20907414,   0.2403557,-0.13179832,0.20211167,   0.2403557,-0.13179832,0.20211167,   0.23956726,-0.12537158,0.19270884,   0.24073346,-0.12533826,0.20138552,   0.2403557,-0.13179832,0.20211167,   0.2405462,-0.13320171,0.19291573,   0.23956726,-0.12537158,0.19270884,   0.2403557,-0.13179832,0.20211167,   0.23811255,-0.13832104,0.20204624,   0.23917074,-0.13955842,0.1968246,   0.24521634,-0.15557947,0.20262179,   0.21994299,-0.14631566,0.21300977,   0.23849199,-0.17053235,0.2126184,   0.24521634,-0.15557947,0.20262179,   0.22909495,-0.13152177,0.20907414,   0.21994299,-0.14631566,0.21300977,   0.24521634,-0.15557947,0.20262179,   0.23811255,-0.13832104,0.20204624,   0.22909495,-0.13152177,0.20907414,   0.24521634,-0.15557947,0.20262179,   0.23960847,-0.14511382,0.17988383,   0.23912103,-0.14505314,0.19739265,   0.25397424,-0.20117921,0.2012819,   0.24895695,-0.23233252,0.20307868,   0.25321079,-0.23226787,0.19874839,   0.25397424,-0.20117921,0.2012819,   0.24941083,-0.20130148,0.17601069,   0.24521634,-0.15557947,0.20262179,   0.2448192,-0.2015549,0.21012921,   0.24895695,-0.23233252,0.20307868,   0.25397424,-0.20117921,0.2012819,   0.2448192,-0.2015549,0.21012921,   0.24887935,-0.23233625,0.17448631,   0.24895695,-0.23233252,0.20307868,   0.2448192,-0.2015549,0.21012921,   0.24525286,-0.20148256,0.16684914,   0.24887935,-0.23233625,0.17448631,   0.25321079,-0.23226787,0.19874839,   0.25329836,-0.232359,0.17798501,   0.25397424,-0.20117921,0.2012819,   0.24895695,-0.23233252,0.20307868,   0.24954477,-0.25319694,0.19683904,   0.25321079,-0.23226787,0.19874839,   0.24895695,-0.23233252,0.20307868,   0.24936228,-0.2527705,0.1798783,   0.24954477,-0.25319694,0.19683904,   0.24895695,-0.23233252,0.20307868,   0.24887935,-0.23233625,0.17448631,   0.24936228,-0.2527705,0.1798783,   0.22806933,-0.24793261,0.25687079,   0.21305561,-0.26919101,0.2571209,   0.21864838,-0.23723639,0.2595234,   0.22806933,-0.24793261,0.25687079,   0.23773677,-0.27310498,0.25314727,   0.21305561,-0.26919101,0.2571209,   0.21305561,-0.26919101,0.2571209,   0.21355232,-0.26922221,0.28772292,   0.19249562,-0.25124118,0.28180255,   0.21305561,-0.26919101,0.2571209,   0.22866408,-0.28662805,0.28403581,   0.21355232,-0.26922221,0.28772292,   0.21305561,-0.26919101,0.2571209,   0.22847123,-0.28634941,0.26095647,   0.22866408,-0.28662805,0.28403581,   0.21305561,-0.26919101,0.2571209,   0.23773677,-0.27310498,0.25314727,   0.22847123,-0.28634941,0.26095647,   0.21355232,-0.26922221,0.28772292,   0.22780619,-0.2476754,0.28833435,   0.21902679,-0.23712472,0.28558396,   0.21355232,-0.26922221,0.28772292,   0.23775636,-0.2730257,0.29183083,   0.22780619,-0.2476754,0.28833435,   0.22780619,-0.2476754,0.28833435,   0.24744801,-0.26047056,0.26083991,   0.22806933,-0.24793261,0.25687079,   0.22780619,-0.2476754,0.28833435,   0.23775636,-0.2730257,0.29183083,   0.24751704,-0.25984906,0.28419243,   0.22866408,-0.28662805,0.28403581,   0.23775636,-0.2730257,0.29183083,   0.21355232,-0.26922221,0.28772292,   0.22866408,-0.28662805,0.28403581,   0.24478219,-0.27804275,0.29199227,   0.23775636,-0.2730257,0.29183083,   0.22866408,-0.28662805,0.28403581,   0.23514339,-0.29110064,0.28391826,   0.24478219,-0.27804275,0.29199227,   0.24751704,-0.25984906,0.28419243,   0.24744801,-0.26047056,0.26083991,   0.22780619,-0.2476754,0.28833435,   0.24751704,-0.25984906,0.28419243,   0.25413721,-0.26459719,0.283919,   0.24744801,-0.26047056,0.26083991,   0.24744801,-0.26047056,0.26083991,   0.23773677,-0.27310498,0.25314727,   0.22806933,-0.24793261,0.25687079,   0.24744801,-0.26047056,0.26083991,   0.25417325,-0.26444515,0.26060463,   0.23773677,-0.27310498,0.25314727,   0.24744801,-0.26047056,0.26083991,   0.25413721,-0.26459719,0.283919,   0.25417325,-0.26444515,0.26060463,   0.22847123,-0.28634941,0.26095647,   0.23514339,-0.29110064,0.28391826,   0.22866408,-0.28662805,0.28403581,   0.23775636,-0.2730257,0.29183083,   0.24478219,-0.27804275,0.29199227,   0.24751704,-0.25984906,0.28419243,   0.23773677,-0.27310498,0.25314727,   0.24440424,-0.27776974,0.25347857,   0.22847123,-0.28634941,0.26095647,   0.23773677,-0.27310498,0.25314727,   0.25417325,-0.26444515,0.26060463,   0.24440424,-0.27776974,0.25347857,   0.24686221,-0.38798213,0.23548985,   0.2221594,-0.38095757,0.20292514,   0.22214111,-0.38136854,0.23530454,   0.24440424,-0.27776974,0.25347857,   0.23513891,-0.29143669,0.26113467,   0.22847123,-0.28634941,0.26095647,   0.24440424,-0.27776974,0.25347857,   0.24379238,-0.27737465,0.27039821,   0.23513891,-0.29143669,0.26113467,   0.24478219,-0.27804275,0.29199227,   0.25413721,-0.26459719,0.283919,   0.24751704,-0.25984906,0.28419243,   0.24478219,-0.27804275,0.29199227,   0.24381886,-0.2772509,0.28102627,   0.25413721,-0.26459719,0.283919,   0.25417325,-0.26444515,0.26060463,   0.24379238,-0.27737465,0.27039821,   0.24440424,-0.27776974,0.25347857,   0.23513891,-0.29143669,0.26113467,   0.23514339,-0.29110064,0.28391826,   0.22847123,-0.28634941,0.26095647,   0.23513891,-0.29143669,0.26113467,   0.23725581,-0.28657787,0.2728827,   0.23514339,-0.29110064,0.28391826,   0.25413721,-0.26459719,0.283919,   0.25001045,-0.26769923,0.27236936,   0.25417325,-0.26444515,0.26060463,   0.25413721,-0.26459719,0.283919,   0.2506636,-0.2678581,0.27902003,   0.25001045,-0.26769923,0.27236936,   0.25413721,-0.26459719,0.283919,   0.24381886,-0.2772509,0.28102627,   0.2506636,-0.2678581,0.27902003,   0.23514339,-0.29110064,0.28391826,   0.24381886,-0.2772509,0.28102627,   0.24478219,-0.27804275,0.29199227,   0.23514339,-0.29110064,0.28391826,   0.23764934,-0.28647624,0.27827921,   0.24381886,-0.2772509,0.28102627,   0.23514339,-0.29110064,0.28391826,   0.23725581,-0.28657787,0.2728827,   0.23764934,-0.28647624,0.27827921,   0.24149625,-0.11562871,0.19254907,   0.24169611,-0.11554224,0.19974891,   0.23909761,-0.12004874,0.19242806,   0.24149625,-0.11562871,0.19254907,   0.23955523,-0.10852182,0.19830585,   0.24169611,-0.11554224,0.19974891,   0.24149625,-0.11562871,0.19254907,   0.23974632,-0.10853022,0.17865082,   0.23955523,-0.10852182,0.19830585,   0.24149625,-0.11562871,0.19254907,   0.24166449,-0.11543776,0.18472977,   0.23974632,-0.10853022,0.17865082,   0.23909761,-0.12004874,0.19242806,   0.24232038,-0.12258983,0.19021358,   0.24149625,-0.11562871,0.19254907,   0.23909761,-0.12004874,0.19242806,   0.23682741,-0.12303184,0.19430151,   0.23956726,-0.12537158,0.19270884,   0.23909761,-0.12004874,0.19242806,   0.24169611,-0.11554224,0.19974891,   0.24088701,-0.1201289,0.20119032,   0.23956726,-0.12537158,0.19270884,   0.24232038,-0.12258983,0.19021358,   0.23909761,-0.12004874,0.19242806,   0.23956726,-0.12537158,0.19270884,   0.23751481,-0.12508911,0.19918064,   0.24073346,-0.12533826,0.20138552,   0.23956726,-0.12537158,0.19270884,   0.23682741,-0.12303184,0.19430151,   0.23648636,-0.12503719,0.19487626,   0.23956726,-0.12537158,0.19270884,   0.2405462,-0.13320171,0.19291573,   0.24588966,-0.12794138,0.19093464,   0.23912103,-0.14505314,0.19739265,   0.24040799,-0.14263178,0.19297351,   0.23917074,-0.13955842,0.1968246,   0.23912103,-0.14505314,0.19739265,   0.23811255,-0.13832104,0.20204624,   0.24521634,-0.15557947,0.20262179,   0.23912103,-0.14505314,0.19739265,   0.24004117,-0.14243147,0.18407365,   0.24040799,-0.14263178,0.19297351,   0.23912103,-0.14505314,0.19739265,   0.23960847,-0.14511382,0.17988383,   0.24004117,-0.14243147,0.18407365,   0.24588966,-0.12794138,0.19093464,   0.24232038,-0.12258983,0.19021358,   0.23956726,-0.12537158,0.19270884,   0.24588966,-0.12794138,0.19093464,   0.24651707,-0.13231628,0.19108203,   0.24780602,-0.132095,0.19071559,   0.24588966,-0.12794138,0.19093464,   0.24247982,-0.12218643,0.18717891,   0.24232038,-0.12258983,0.19021358,   0.24588966,-0.12794138,0.19093464,   0.24547808,-0.12773774,0.18582676,   0.24247982,-0.12218643,0.18717891,   0.24232038,-0.12258983,0.19021358,   0.24166449,-0.11543776,0.18472977,   0.24149625,-0.11562871,0.19254907,   0.24232038,-0.12258983,0.19021358,   0.24247982,-0.12218643,0.18717891,   0.24166449,-0.11543776,0.18472977,   0.23917074,-0.13955842,0.1968246,   0.24057099,-0.1396837,0.1938207,   0.24036145,-0.1369227,0.19305668,   0.23917074,-0.13955842,0.1968246,   0.2405462,-0.13320171,0.19291573,   0.2403557,-0.13179832,0.20211167,   0.23917074,-0.13955842,0.1968246,   0.23811255,-0.13832104,0.20204624,   0.23912103,-0.14505314,0.19739265,   0.24040799,-0.14263178,0.19297351,   0.24057099,-0.1396837,0.1938207,   0.23917074,-0.13955842,0.1968246,   0.24040799,-0.14263178,0.19297351,   0.24042932,-0.13954032,0.18300672,   0.24057099,-0.1396837,0.1938207,   0.24040799,-0.14263178,0.19297351,   0.24004117,-0.14243147,0.18407365,   0.24042932,-0.13954032,0.18300672,   0.24036145,-0.1369227,0.19305668,   0.2405462,-0.13320171,0.19291573,   0.23917074,-0.13955842,0.1968246,   0.24036145,-0.1369227,0.19305668,   0.24005278,-0.13295569,0.18389414,   0.2405462,-0.13320171,0.19291573,   0.24036145,-0.1369227,0.19305668,   0.2400911,-0.13685666,0.18361704,   0.24005278,-0.13295569,0.18389414,   0.24057099,-0.1396837,0.1938207,   0.2400911,-0.13685666,0.18361704,   0.24036145,-0.1369227,0.19305668,   0.23717869,-0.1209541,0.19854637,   0.2368855,-0.1210537,0.194672,   0.23909761,-0.12004874,0.19242806,   0.23717869,-0.1209541,0.19854637,   0.23897423,-0.12188237,0.19574821,   0.2368855,-0.1210537,0.194672,   0.23717869,-0.1209541,0.19854637,   0.23920665,-0.12333318,0.19842677,   0.23912215,-0.12189578,0.19780631,   0.23717869,-0.1209541,0.19854637,   0.23683294,-0.12310224,0.19963539,   0.23920665,-0.12333318,0.19842677,   0.2368855,-0.1210537,0.194672,   0.23682741,-0.12303184,0.19430151,   0.23909761,-0.12004874,0.19242806,   0.23648636,-0.12503719,0.19487626,   0.23751481,-0.12508911,0.19918064,   0.23956726,-0.12537158,0.19270884,   0.23648636,-0.12503719,0.19487626,   0.23887812,-0.12450272,0.19813396,   0.23751481,-0.12508911,0.19918064,   0.23648636,-0.12503719,0.19487626,   0.23891958,-0.12274295,0.19564165,   0.23882519,-0.12410562,0.19584042,   0.23648636,-0.12503719,0.19487626,   0.23682741,-0.12303184,0.19430151,   0.23891958,-0.12274295,0.19564165,   0.23751481,-0.12508911,0.19918064,   0.23683294,-0.12310224,0.19963539,   0.24073346,-0.12533826,0.20138552,   0.23912215,-0.12189578,0.19780631,   0.23897423,-0.12188237,0.19574821,   0.23717869,-0.1209541,0.19854637,   0.23912215,-0.12189578,0.19780631,   0.23891958,-0.12274295,0.19564165,   0.23897423,-0.12188237,0.19574821,   0.23912215,-0.12189578,0.19780631,   0.23920665,-0.12333318,0.19842677,   0.23882519,-0.12410562,0.19584042,   0.23897423,-0.12188237,0.19574821,   0.23891958,-0.12274295,0.19564165,   0.2368855,-0.1210537,0.194672,   0.23882519,-0.12410562,0.19584042,   0.23887812,-0.12450272,0.19813396,   0.23648636,-0.12503719,0.19487626,   0.23882519,-0.12410562,0.19584042,   0.23891958,-0.12274295,0.19564165,   0.23912215,-0.12189578,0.19780631,   0.23882519,-0.12410562,0.19584042,   0.23920665,-0.12333318,0.19842677,   0.23887812,-0.12450272,0.19813396,   0.23887812,-0.12450272,0.19813396,   0.23920665,-0.12333318,0.19842677,   0.23751481,-0.12508911,0.19918064,   0.23891958,-0.12274295,0.19564165,   0.23682741,-0.12303184,0.19430151,   0.2368855,-0.1210537,0.194672,   0.23920665,-0.12333318,0.19842677,   0.23683294,-0.12310224,0.19963539,   0.23751481,-0.12508911,0.19918064,   0.24780602,-0.132095,0.19071559,   0.24547808,-0.12773774,0.18582676,   0.24588966,-0.12794138,0.19093464,   0.2405462,-0.13320171,0.19291573,   0.24651707,-0.13231628,0.19108203,   0.24588966,-0.12794138,0.19093464,   0.2405462,-0.13320171,0.19291573,   0.24622697,-0.13261923,0.18577851,   0.24651707,-0.13231628,0.19108203,   0.24651707,-0.13231628,0.19108203,   0.24751335,-0.1319675,0.18665758,   0.24780602,-0.132095,0.19071559,   0.19697363,-0.10505233,0.19867478,   0.18591276,-0.12629809,0.19695874,   0.19298123,-0.12582174,0.20773474,   0.19697363,-0.10505233,0.19867478,   0.19710042,-0.1050879,0.1778862,   0.18591276,-0.12629809,0.19695874,   0.22602943,-0.11756822,0.21254506,   0.22643335,-0.12592838,0.21263768,   0.22798632,-0.11993476,0.21091412,   0.22602943,-0.11756822,0.21254506,   0.22210219,-0.12584135,0.21594083,   0.22643335,-0.12592838,0.21263768,   0.22602943,-0.11756822,0.21254506,   0.21297977,-0.1067949,0.20714151,   0.22210219,-0.12584135,0.21594083,   0.22602943,-0.11756822,0.21254506,   0.22720948,-0.10063627,0.19685654,   0.21297977,-0.1067949,0.20714151,   0.24169611,-0.11554224,0.19974891,   0.23955523,-0.10852182,0.19830585,   0.22602943,-0.11756822,0.21254506,   0.23955523,-0.10852182,0.19830585,   0.22720948,-0.10063627,0.19685654,   0.22602943,-0.11756822,0.21254506,   0.23955523,-0.10852182,0.19830585,   0.23974632,-0.10853022,0.17865082,   0.22720948,-0.10063627,0.19685654,   0.19298123,-0.12582174,0.20773474,   0.19313968,-0.15254112,0.2046976,   0.21625665,-0.14018941,0.21799903,   0.19298123,-0.12582174,0.20773474,   0.21297977,-0.1067949,0.20714151,   0.19697363,-0.10505233,0.19867478,   0.18591276,-0.12629809,0.19695874,   0.19313968,-0.15254112,0.2046976,   0.19298123,-0.12582174,0.20773474,   0.18591276,-0.12629809,0.19695874,   0.18601269,-0.12576507,0.1800889,   0.19313968,-0.15254112,0.2046976,   0.18591276,-0.12629809,0.19695874,   0.19710042,-0.1050879,0.1778862,   0.18601269,-0.12576507,0.1800889,   0.21994299,-0.14631566,0.21300977,   0.19313968,-0.15254112,0.2046976,   0.20021121,-0.15248773,0.19706166,   0.21994299,-0.14631566,0.21300977,   0.22643335,-0.12592838,0.21263768,   0.21625665,-0.14018941,0.21799903,   0.21994299,-0.14631566,0.21300977,   0.2182893,-0.132631,0.21143202,   0.22643335,-0.12592838,0.21263768,   0.21625665,-0.14018941,0.21799903,   0.19313968,-0.15254112,0.2046976,   0.21994299,-0.14631566,0.21300977,   0.21625665,-0.14018941,0.21799903,   0.22210219,-0.12584135,0.21594083,   0.19298123,-0.12582174,0.20773474,   0.19313968,-0.15254112,0.2046976,   0.20031287,-0.15252725,0.17966292,   0.20021121,-0.15248773,0.19706166,   0.19313968,-0.15254112,0.2046976,   0.19330433,-0.1527978,0.17252164,   0.20031287,-0.15252725,0.17966292,   0.19313968,-0.15254112,0.2046976,   0.18601269,-0.12576507,0.1800889,   0.19330433,-0.1527978,0.17252164,   0.22643335,-0.12592838,0.21263768,   0.22210219,-0.12584135,0.21594083,   0.21625665,-0.14018941,0.21799903,   0.22643335,-0.12592838,0.21263768,   0.2182893,-0.132631,0.21143202,   0.22798632,-0.11993476,0.21091412,   0.22210219,-0.12584135,0.21594083,   0.21297977,-0.1067949,0.20714151,   0.19298123,-0.12582174,0.20773474,   0.21297977,-0.1067949,0.20714151,   0.20720092,-0.10034156,0.19674306,   0.19697363,-0.10505233,0.19867478,   0.21297977,-0.1067949,0.20714151,   0.22720948,-0.10063627,0.19685654,   0.20720092,-0.10034156,0.19674306,   0.20720092,-0.10034156,0.19674306,   0.19710042,-0.1050879,0.1778862,   0.19697363,-0.10505233,0.19867478,   0.22720948,-0.10063627,0.19685654,   0.23974632,-0.10853022,0.17865082,   0.22756257,-0.10024202,0.18002687,   0.22720948,-0.10063627,0.19685654,   0.20737883,-0.10033673,0.17970307,   0.20720092,-0.10034156,0.19674306,   0.22909495,-0.13152177,0.20907414,   0.2182893,-0.132631,0.21143202,   0.21994299,-0.14631566,0.21300977,   0.22909495,-0.13152177,0.20907414,   0.23811255,-0.13832104,0.20204624,   0.2403557,-0.13179832,0.20211167,   0.24954477,-0.25319694,0.19683904,   0.25212669,-0.25264423,0.19488978,   0.25321079,-0.23226787,0.19874839,   0.24954477,-0.25319694,0.19683904,   0.25033195,-0.27352247,0.18879139,   0.25212669,-0.25264423,0.19488978,   0.25212669,-0.25264423,0.19488978,   0.25203547,-0.25288594,0.1819633,   0.25321079,-0.23226787,0.19874839,   0.25212669,-0.25264423,0.19488978,   0.25033195,-0.27352247,0.18879139,   0.25203547,-0.25288594,0.1819633,   0.24199308,-0.28670178,0.27372023,   0.26449629,-0.29585028,0.27235963,   0.26106914,-0.30232291,0.27376069,   0.24199308,-0.28670178,0.27372023,   0.23725581,-0.28657787,0.2728827,   0.24511204,-0.28184059,0.27175233,   0.24199308,-0.28670178,0.27372023,   0.24594637,-0.29169014,0.274184,   0.24661477,-0.29209738,0.27773908,   0.24222975,-0.28676452,0.27754494,   0.23725581,-0.28657787,0.2728827,   0.24199308,-0.28670178,0.27372023,   0.27324219,-0.2874574,0.27606878,   0.26243434,-0.2792097,0.27683959,   0.27067183,-0.29327643,0.27752547,   0.27324219,-0.2874574,0.27606878,   0.27554903,-0.28933755,0.26885766,   0.27140855,-0.28630076,0.27421099,   0.27324219,-0.2874574,0.27606878,   0.27793146,-0.29107401,0.26744069,   0.27554903,-0.28933755,0.26885766,   0.26346444,-0.30410818,0.27623725,   0.26754507,-0.29783342,0.2775002,   0.24543363,-0.28189769,0.27930171,   0.26346444,-0.30410818,0.27623725,   0.26737996,-0.30497975,0.26814094,   0.26754507,-0.29783342,0.2775002,   0.26346444,-0.30410818,0.27623725,   0.24661477,-0.29209738,0.27773908,   0.24594637,-0.29169014,0.274184,   0.26106914,-0.30232291,0.27376069,   0.26599628,-0.30407826,0.26863561,   0.26346444,-0.30410818,0.27623725,   0.27140855,-0.28630076,0.27421099,   0.26243434,-0.2792097,0.27683959,   0.27324219,-0.2874574,0.27606878,   0.27140855,-0.28630076,0.27421099,   0.27554903,-0.28933755,0.26885766,   0.26769055,-0.29089181,0.27225421,   0.27140855,-0.28630076,0.27421099,   0.26495768,-0.28096435,0.27210961,   0.26243434,-0.2792097,0.27683959,   0.24912434,-0.27732476,0.27943492,   0.24381886,-0.2772509,0.28102627,   0.24543363,-0.28189769,0.27930171,   0.24892552,-0.27720777,0.27148736,   0.26769055,-0.29089181,0.27225421,   0.24511204,-0.28184059,0.27175233,   0.24892552,-0.27720777,0.27148736,   0.25901337,-0.27559198,0.26878731,   0.26769055,-0.29089181,0.27225421,   0.24892552,-0.27720777,0.27148736,   0.25221628,-0.27243787,0.27323025,   0.25901337,-0.27559198,0.26878731,   0.24892552,-0.27720777,0.27148736,   0.25001045,-0.26769923,0.27236936,   0.25221628,-0.27243787,0.27323025,   0.24892552,-0.27720777,0.27148736,   0.24379238,-0.27737465,0.27039821,   0.25001045,-0.26769923,0.27236936,   0.24511204,-0.28184059,0.27175233,   0.26449629,-0.29585028,0.27235963,   0.24199308,-0.28670178,0.27372023,   0.24511204,-0.28184059,0.27175233,   0.26769055,-0.29089181,0.27225421,   0.26449629,-0.29585028,0.27235963,   0.24511204,-0.28184059,0.27175233,   0.24379238,-0.27737465,0.27039821,   0.24892552,-0.27720777,0.27148736,   0.24511204,-0.28184059,0.27175233,   0.23725581,-0.28657787,0.2728827,   0.24379238,-0.27737465,0.27039821,   0.24543363,-0.28189769,0.27930171,   0.27067183,-0.29327643,0.27752547,   0.24912434,-0.27732476,0.27943492,   0.24543363,-0.28189769,0.27930171,   0.26754507,-0.29783342,0.2775002,   0.27067183,-0.29327643,0.27752547,   0.24543363,-0.28189769,0.27930171,   0.23764934,-0.28647624,0.27827921,   0.24222975,-0.28676452,0.27754494,   0.27067183,-0.29327643,0.27752547,   0.26243434,-0.2792097,0.27683959,   0.24912434,-0.27732476,0.27943492,   0.27067183,-0.29327643,0.27752547,   0.27494703,-0.29642291,0.26803329,   0.27324219,-0.2874574,0.27606878,   0.26754507,-0.29783342,0.2775002,   0.27192058,-0.30089952,0.2679144,   0.27067183,-0.29327643,0.27752547,   0.26449629,-0.29585028,0.27235963,   0.26599628,-0.30407826,0.26863561,   0.26106914,-0.30232291,0.27376069,   0.26769055,-0.29089181,0.27225421,   0.26838487,-0.29878906,0.26839496,   0.26449629,-0.29585028,0.27235963,   0.26769055,-0.29089181,0.27225421,   0.26495768,-0.28096435,0.27210961,   0.27140855,-0.28630076,0.27421099,   0.25901337,-0.27559198,0.26878731,   0.25221628,-0.27243787,0.27323025,   0.2618653,-0.2713212,0.27041972,   0.25901337,-0.27559198,0.26878731,   0.26495768,-0.28096435,0.27210961,   0.26769055,-0.29089181,0.27225421,   0.26243434,-0.2792097,0.27683959,   0.25232369,-0.27213049,0.27823537,   0.24912434,-0.27732476,0.27943492,   0.26243434,-0.2792097,0.27683959,   0.26495768,-0.28096435,0.27210961,   0.26517414,-0.273514,0.27462343,   0.2618653,-0.2713212,0.27041972,   0.25232369,-0.27213049,0.27823537,   0.26517414,-0.273514,0.27462343,   0.2618653,-0.2713212,0.27041972,   0.25221628,-0.27243787,0.27323025,   0.25232369,-0.27213049,0.27823537,   0.2618653,-0.2713212,0.27041972,   0.2636404,-0.27313996,0.26444778,   0.25901337,-0.27559198,0.26878731,   0.26517414,-0.273514,0.27462343,   0.25232369,-0.27213049,0.27823537,   0.26243434,-0.2792097,0.27683959,   0.26517414,-0.273514,0.27462343,   0.26772724,-0.27331383,0.26739325,   0.2618653,-0.2713212,0.27041972,   0.26517414,-0.273514,0.27462343,   0.26495768,-0.28096435,0.27210961,   0.26846487,-0.27814384,0.26736242,   0.25232369,-0.27213049,0.27823537,   0.2506636,-0.2678581,0.27902003,   0.24912434,-0.27732476,0.27943492,   0.25221628,-0.27243787,0.27323025,   0.25001045,-0.26769923,0.27236936,   0.25232369,-0.27213049,0.27823537,   0.27159542,-0.27776848,0.26164448,   0.26846487,-0.27814384,0.26736242,   0.27042122,-0.28043817,0.2630072,   0.27159542,-0.27776848,0.26164448,   0.26772724,-0.27331383,0.26739325,   0.26846487,-0.27814384,0.26736242,   0.27159542,-0.27776848,0.26164448,   0.26997176,-0.27959957,0.26009476,   0.2686339,-0.27777927,0.25922918,   0.27042122,-0.28043817,0.2630072,   0.26395837,-0.27808365,0.26387672,   0.2672735,-0.28014928,0.26021097,   0.27042122,-0.28043817,0.2630072,   0.26997176,-0.27959957,0.26009476,   0.27159542,-0.27776848,0.26164448,   0.2686339,-0.27777927,0.25922918,   0.26772724,-0.27331383,0.26739325,   0.27159542,-0.27776848,0.26164448,   0.2686339,-0.27777927,0.25922918,   0.2636404,-0.27313996,0.26444778,   0.26772724,-0.27331383,0.26739325,   0.2686339,-0.27777927,0.25922918,   0.26395837,-0.27808365,0.26387672,   0.2636404,-0.27313996,0.26444778,   0.2686339,-0.27777927,0.25922918,   0.26997176,-0.27959957,0.26009476,   0.2672735,-0.28014928,0.26021097,   0.2672735,-0.28014928,0.26021097,   0.26395837,-0.27808365,0.26387672,   0.2686339,-0.27777927,0.25922918,   0.2672735,-0.28014928,0.26021097,   0.26997176,-0.27959957,0.26009476,   0.27042122,-0.28043817,0.2630072,   0.26846487,-0.27814384,0.26736242,   0.26772724,-0.27331383,0.26739325,   0.26517414,-0.273514,0.27462343,   0.26846487,-0.27814384,0.26736242,   0.26395837,-0.27808365,0.26387672,   0.27042122,-0.28043817,0.2630072,   0.26846487,-0.27814384,0.26736242,   0.26495768,-0.28096435,0.27210961,   0.26395837,-0.27808365,0.26387672,   0.26772724,-0.27331383,0.26739325,   0.2636404,-0.27313996,0.26444778,   0.2618653,-0.2713212,0.27041972,   0.2636404,-0.27313996,0.26444778,   0.26395837,-0.27808365,0.26387672,   0.25901337,-0.27559198,0.26878731,   0.26395837,-0.27808365,0.26387672,   0.26495768,-0.28096435,0.27210961,   0.25901337,-0.27559198,0.26878731,   0.27554903,-0.28933755,0.26885766,   0.27147631,-0.29338708,0.26862737,   0.26769055,-0.29089181,0.27225421,   0.27554903,-0.28933755,0.26885766,   0.27489849,-0.2890154,0.26377913,   0.27147631,-0.29338708,0.26862737,   0.27147631,-0.29338708,0.26862737,   0.26838487,-0.29878906,0.26839496,   0.26769055,-0.29089181,0.27225421,   0.27147631,-0.29338708,0.26862737,   0.27098346,-0.29325757,0.26341435,   0.26838487,-0.29878906,0.26839496,   0.26838487,-0.29878906,0.26839496,   0.26599628,-0.30407826,0.26863561,   0.26449629,-0.29585028,0.27235963,   0.26838487,-0.29878906,0.26839496,   0.26490115,-0.30337639,0.26326661,   0.26599628,-0.30407826,0.26863561,   0.26838487,-0.29878906,0.26839496,   0.26792183,-0.29796279,0.26391085,   0.26490115,-0.30337639,0.26326661,   0.26838487,-0.29878906,0.26839496,   0.27098346,-0.29325757,0.26341435,   0.26792183,-0.29796279,0.26391085,   0.26599628,-0.30407826,0.26863561,   0.26737996,-0.30497975,0.26814094,   0.26346444,-0.30410818,0.27623725,   0.26599628,-0.30407826,0.26863561,   0.26490115,-0.30337639,0.26326661,   0.26737996,-0.30497975,0.26814094,   0.26737996,-0.30497975,0.26814094,   0.27192058,-0.30089952,0.2679144,   0.26754507,-0.29783342,0.2775002,   0.26737996,-0.30497975,0.26814094,   0.26605931,-0.30371753,0.26135478,   0.27192058,-0.30089952,0.2679144,   0.27192058,-0.30089952,0.2679144,   0.27494703,-0.29642291,0.26803329,   0.27067183,-0.29327643,0.27752547,   0.27192058,-0.30089952,0.2679144,   0.26974836,-0.29971646,0.2605505,   0.27494703,-0.29642291,0.26803329,   0.27494703,-0.29642291,0.26803329,   0.27793146,-0.29107401,0.26744069,   0.27324219,-0.2874574,0.27606878,   0.27494703,-0.29642291,0.26803329,   0.27578896,-0.28950196,0.26077062,   0.27793146,-0.29107401,0.26744069,   0.27494703,-0.29642291,0.26803329,   0.27317705,-0.2944605,0.26001824,   0.27578896,-0.28950196,0.26077062,   0.27494703,-0.29642291,0.26803329,   0.26974836,-0.29971646,0.2605505,   0.27317705,-0.2944605,0.26001824,   0.27793146,-0.29107401,0.26744069,   0.27489849,-0.2890154,0.26377913,   0.27554903,-0.28933755,0.26885766,   0.27793146,-0.29107401,0.26744069,   0.27578896,-0.28950196,0.26077062,   0.27489849,-0.2890154,0.26377913,   0.26490115,-0.30337639,0.26326661,   0.26605931,-0.30371753,0.26135478,   0.26737996,-0.30497975,0.26814094,   0.26490115,-0.30337639,0.26326661,   0.26276489,-0.29951789,0.25900835,   0.26605931,-0.30371753,0.26135478,   0.26605931,-0.30371753,0.26135478,   0.26974836,-0.29971646,0.2605505,   0.27192058,-0.30089952,0.2679144,   0.26605931,-0.30371753,0.26135478,   0.26300653,-0.29957785,0.25741172,   0.26974836,-0.29971646,0.2605505,   0.27489849,-0.2890154,0.26377913,   0.27098346,-0.29325757,0.26341435,   0.27147631,-0.29338708,0.26862737,   0.27489849,-0.2890154,0.26377913,   0.26953242,-0.2888915,0.25888987,   0.27098346,-0.29325757,0.26341435,   0.27578896,-0.28950196,0.26077062,   0.26953242,-0.2888915,0.25888987,   0.27489849,-0.2890154,0.26377913,   0.27578896,-0.28950196,0.26077062,   0.26998913,-0.28929463,0.25768736,   0.26953242,-0.2888915,0.25888987,   0.27317705,-0.2944605,0.26001824,   0.26998913,-0.28929463,0.25768736,   0.27578896,-0.28950196,0.26077062,   0.26974836,-0.29971646,0.2605505,   0.26611822,-0.29702477,0.25683945,   0.27317705,-0.2944605,0.26001824,   0.26792183,-0.29796279,0.26391085,   0.26276489,-0.29951789,0.25900835,   0.26490115,-0.30337639,0.26326661,   0.27098346,-0.29325757,0.26341435,   0.26649233,-0.2915308,0.25951976,   0.26792183,-0.29796279,0.26391085,   0.26953242,-0.2888915,0.25888987,   0.26649233,-0.2915308,0.25951976,   0.27098346,-0.29325757,0.26341435,   0.26953242,-0.2888915,0.25888987,   0.26998913,-0.28929463,0.25768736,   0.26649233,-0.2915308,0.25951976,   0.26649233,-0.2915308,0.25951976,   0.26330039,-0.29533767,0.25974009,   0.26792183,-0.29796279,0.26391085,   0.26649233,-0.2915308,0.25951976,   0.26856311,-0.29271923,0.25669046,   0.26330039,-0.29533767,0.25974009,   0.26649233,-0.2915308,0.25951976,   0.26998913,-0.28929463,0.25768736,   0.26856311,-0.29271923,0.25669046,   0.26330039,-0.29533767,0.25974009,   0.26276489,-0.29951789,0.25900835,   0.26792183,-0.29796279,0.26391085,   0.26330039,-0.29533767,0.25974009,   0.26300653,-0.29957785,0.25741172,   0.26276489,-0.29951789,0.25900835,   0.26330039,-0.29533767,0.25974009,   0.26611822,-0.29702477,0.25683945,   0.26300653,-0.29957785,0.25741172,   0.26330039,-0.29533767,0.25974009,   0.26856311,-0.29271923,0.25669046,   0.26611822,-0.29702477,0.25683945,   0.26276489,-0.29951789,0.25900835,   0.26300653,-0.29957785,0.25741172,   0.26605931,-0.30371753,0.26135478,   0.26300653,-0.29957785,0.25741172,   0.26611822,-0.29702477,0.25683945,   0.26974836,-0.29971646,0.2605505,   0.26611822,-0.29702477,0.25683945,   0.26856311,-0.29271923,0.25669046,   0.27317705,-0.2944605,0.26001824,   0.26856311,-0.29271923,0.25669046,   0.26998913,-0.28929463,0.25768736,   0.27317705,-0.2944605,0.26001824,   0.25001045,-0.26769923,0.27236936,   0.2506636,-0.2678581,0.27902003,   0.25232369,-0.27213049,0.27823537,   0.25001045,-0.26769923,0.27236936,   0.24379238,-0.27737465,0.27039821,   0.25417325,-0.26444515,0.26060463,   0.2506636,-0.2678581,0.27902003,   0.24381886,-0.2772509,0.28102627,   0.24912434,-0.27732476,0.27943492,   0.24379238,-0.27737465,0.27039821,   0.23725581,-0.28657787,0.2728827,   0.23513891,-0.29143669,0.26113467,   0.24381886,-0.2772509,0.28102627,   0.23764934,-0.28647624,0.27827921,   0.24543363,-0.28189769,0.27930171,   0.23764934,-0.28647624,0.27827921,   0.23725581,-0.28657787,0.2728827,   0.24222975,-0.28676452,0.27754494,   0.25203547,-0.25288594,0.1819633,   0.25329836,-0.232359,0.17798501,   0.25321079,-0.23226787,0.19874839,   0.25203547,-0.25288594,0.1819633,   0.25033195,-0.27352247,0.18879139,   0.24936228,-0.2527705,0.1798783,   0.24936228,-0.2527705,0.1798783,   0.25329836,-0.232359,0.17798501,   0.25203547,-0.25288594,0.1819633,   0.24936228,-0.2527705,0.1798783,   0.25033195,-0.27352247,0.18879139,   0.24954477,-0.25319694,0.19683904,   0.22886482,-0.1314429,0.16727427,   0.23779949,-0.13799327,0.17462017,   0.24501611,-0.15519407,0.17377603,   0.22886482,-0.1314429,0.16727427,   0.22008991,-0.14623627,0.16412981,   0.21792151,-0.13277427,0.16572214,   0.22886482,-0.1314429,0.16727427,   0.24010796,-0.1319674,0.17480827,   0.23779949,-0.13799327,0.17462017,   0.22886482,-0.1314429,0.16727427,   0.24051025,-0.12576308,0.17563918,   0.24010796,-0.1319674,0.17480827,   0.22886482,-0.1314429,0.16727427,   0.22847266,-0.120231,0.16634349,   0.24051025,-0.12576308,0.17563918,   0.22756257,-0.10024202,0.18002687,   0.20737883,-0.10033673,0.17970307,   0.22720948,-0.10063627,0.19685654,   0.22756257,-0.10024202,0.18002687,   0.21333033,-0.10702599,0.16986351,   0.20737883,-0.10033673,0.17970307,   0.22756257,-0.10024202,0.18002687,   0.22621649,-0.11728868,0.16457056,   0.21333033,-0.10702599,0.16986351,   0.23974632,-0.10853022,0.17865082,   0.22621649,-0.11728868,0.16457056,   0.22756257,-0.10024202,0.18002687,   0.24887935,-0.23233625,0.17448631,   0.25329836,-0.232359,0.17798501,   0.24936228,-0.2527705,0.1798783,   0.24887935,-0.23233625,0.17448631,   0.24941083,-0.20130148,0.17601069,   0.25329836,-0.232359,0.17798501,   0.24887935,-0.23233625,0.17448631,   0.24525286,-0.20148256,0.16684914,   0.24941083,-0.20130148,0.17601069,   0.25329836,-0.232359,0.17798501,   0.24941083,-0.20130148,0.17601069,   0.25397424,-0.20117921,0.2012819,   0.24941083,-0.20130148,0.17601069,   0.24501611,-0.15519407,0.17377603,   0.24521634,-0.15557947,0.20262179,   0.24941083,-0.20130148,0.17601069,   0.23861188,-0.1708074,0.16441054,   0.24501611,-0.15519407,0.17377603,   0.24501611,-0.15519407,0.17377603,   0.22008991,-0.14623627,0.16412981,   0.22886482,-0.1314429,0.16727427,   0.24501611,-0.15519407,0.17377603,   0.23960847,-0.14511382,0.17988383,   0.24521634,-0.15557947,0.20262179,   0.24501611,-0.15519407,0.17377603,   0.23861188,-0.1708074,0.16441054,   0.22008991,-0.14623627,0.16412981,   0.20031287,-0.15252725,0.17966292,   0.2002536,-0.15615738,0.17964877,   0.20021121,-0.15248773,0.19706166,   0.20031287,-0.15252725,0.17966292,   0.19330433,-0.1527978,0.17252164,   0.22008991,-0.14623627,0.16412981,   0.20031287,-0.15252725,0.17966292,   0.21718369,-0.15631964,0.17144571,   0.2002536,-0.15615738,0.17964877,   0.18213177,-0.17064596,0.14321915,   0.1832855,-0.28390253,0.1670218,   0.18334297,-0.28330988,0.20981518,   0.18213177,-0.17064596,0.14321915,   0.19336347,-0.28346854,0.13562816,   0.1832855,-0.28390253,0.1670218,   0.18213177,-0.17064596,0.14321915,   0.19433486,-0.20180914,0.12069487,   0.19336347,-0.28346854,0.13562816,   0.18213177,-0.17064596,0.14321915,   0.2002536,-0.15615738,0.17964877,   0.2096656,-0.16024017,0.12653732,   0.18213177,-0.17064596,0.14321915,   0.19725951,-0.17047405,0.10606249,   0.19433486,-0.20180914,0.12069487,   0.1832855,-0.28390253,0.1670218,   0.19335096,-0.28344105,0.18207849,   0.18894723,-0.28354869,0.19518668,   0.24166449,-0.11543776,0.18472977,   0.24171479,-0.11553975,0.17707964,   0.23974632,-0.10853022,0.17865082,   0.24166449,-0.11543776,0.18472977,   0.23955342,-0.11989108,0.18410515,   0.24171479,-0.11553975,0.17707964,   0.24247982,-0.12218643,0.18717891,   0.23955342,-0.11989108,0.18410515,   0.24166449,-0.11543776,0.18472977,   0.24042932,-0.13954032,0.18300672,   0.2400911,-0.13685666,0.18361704,   0.24057099,-0.1396837,0.1938207,   0.24042932,-0.13954032,0.18300672,   0.23907464,-0.13897429,0.17975267,   0.2400911,-0.13685666,0.18361704,   0.24004117,-0.14243147,0.18407365,   0.23907464,-0.13897429,0.17975267,   0.24042932,-0.13954032,0.18300672,   0.24004117,-0.14243147,0.18407365,   0.23960847,-0.14511382,0.17988383,   0.23907464,-0.13897429,0.17975267,   0.24005278,-0.13295569,0.18389414,   0.24622697,-0.13261923,0.18577851,   0.2405462,-0.13320171,0.19291573,   0.24005278,-0.13295569,0.18389414,   0.24547808,-0.12773774,0.18582676,   0.24622697,-0.13261923,0.18577851,   0.24005278,-0.13295569,0.18389414,   0.23953282,-0.12563863,0.18406115,   0.24547808,-0.12773774,0.18582676,   0.24005278,-0.13295569,0.18389414,   0.24010796,-0.1319674,0.17480827,   0.23953282,-0.12563863,0.18406115,   0.2038326,-0.33444394,0.14275147,   0.2231777,-0.28358661,0.13546271,   0.22161991,-0.33424168,0.14433255,   0.2038326,-0.33444394,0.14275147,   0.19486911,-0.38400643,0.14061689,   0.19853657,-0.33491727,0.17348753,   0.19853657,-0.33491727,0.17348753,   0.19336347,-0.28346854,0.13562816,   0.2038326,-0.33444394,0.14275147,   0.19853657,-0.33491727,0.17348753,   0.22215864,-0.38123942,0.17380555,   0.22418267,-0.33491101,0.17391789,   0.19853657,-0.33491727,0.17348753,   0.19284167,-0.38371819,0.17392854,   0.22215864,-0.38123942,0.17380555,   0.19853657,-0.33491727,0.17348753,   0.19486911,-0.38400643,0.14061689,   0.19284167,-0.38371819,0.17392854,   0.19853657,-0.33491727,0.17348753,   0.19335096,-0.28344105,0.18207849,   0.19336347,-0.28346854,0.13562816,   0.22161991,-0.33424168,0.14433255,   0.23373675,-0.28371668,0.18177962,   0.22418267,-0.33491101,0.17391789,   0.22161991,-0.33424168,0.14433255,   0.22259023,-0.38127512,0.14076473,   0.2038326,-0.33444394,0.14275147,   0.22418267,-0.33491101,0.17391789,   0.23373675,-0.28371668,0.18177962,   0.19853657,-0.33491727,0.17348753,   0.22418267,-0.33491101,0.17391789,   0.22259023,-0.38127512,0.14076473,   0.22161991,-0.33424168,0.14433255,   0.19336347,-0.28346854,0.13562816,   0.2231777,-0.28358661,0.13546271,   0.2038326,-0.33444394,0.14275147,   0.19336347,-0.28346854,0.13562816,   0.22474768,-0.20183467,0.12091562,   0.2231777,-0.28358661,0.13546271,   0.19336347,-0.28346854,0.13562816,   0.19335096,-0.28344105,0.18207849,   0.1832855,-0.28390253,0.1670218,   0.23373675,-0.28371668,0.18177962,   0.23935864,-0.28360778,0.16673705,   0.23973646,-0.28396309,0.21000507,   0.23373675,-0.28371668,0.18177962,   0.19335096,-0.28344105,0.18207849,   0.19853657,-0.33491727,0.17348753,   0.2231777,-0.28358661,0.13546271,   0.23373675,-0.28371668,0.18177962,   0.22161991,-0.33424168,0.14433255,   0.2231777,-0.28358661,0.13546271,   0.23935864,-0.28360778,0.16673705,   0.23373675,-0.28371668,0.18177962,   0.22215864,-0.38123942,0.17380555,   0.22259023,-0.38127512,0.14076473,   0.22418267,-0.33491101,0.17391789,   0.22215864,-0.38123942,0.17380555,   0.24922524,-0.39998816,0.17624701,   0.24716872,-0.38769038,0.17538832,   0.19284167,-0.38371819,0.17392854,   0.19141025,-0.40007533,0.17610266,   0.22215864,-0.38123942,0.17380555,   0.24699627,-0.38787399,0.20187339,   0.2221594,-0.38095757,0.20292514,   0.24686221,-0.38798213,0.23548985,   0.2221594,-0.38095757,0.20292514,   0.19296872,-0.38363849,0.20287437,   0.19830427,-0.33455717,0.20334415,   0.24716872,-0.38769038,0.17538832,   0.24709449,-0.3877721,0.13967612,   0.22215864,-0.38123942,0.17380555,   0.24716872,-0.38769038,0.17538832,   0.24915318,-0.40024202,0.13846659,   0.24709449,-0.3877721,0.13967612,   0.24709449,-0.3877721,0.13967612,   0.22259023,-0.38127512,0.14076473,   0.22215864,-0.38123942,0.17380555,   0.24709449,-0.3877721,0.13967612,   0.24915318,-0.40024202,0.13846659,   0.22259023,-0.38127512,0.14076473,   0.22259023,-0.38127512,0.14076473,   0.19486911,-0.38400643,0.14061689,   0.2038326,-0.33444394,0.14275147,   0.22259023,-0.38127512,0.14076473,   0.19279547,-0.40004457,0.13850346,   0.19486911,-0.38400643,0.14061689,   0.22259023,-0.38127512,0.14076473,   0.24915318,-0.40024202,0.13846659,   0.19279547,-0.40004457,0.13850346,   0.19486911,-0.38400643,0.14061689,   0.19279547,-0.40004457,0.13850346,   0.19284167,-0.38371819,0.17392854,   0.19279547,-0.40004457,0.13850346,   0.19141025,-0.40007533,0.17610266,   0.19284167,-0.38371819,0.17392854,   0.19279547,-0.40004457,0.13850346,   0.24915318,-0.40024202,0.13846659,   0.19141025,-0.40007533,0.17610266,   0.23746844,-0.28665953,0.10404655,   0.24582661,-0.28159521,0.10541897,   0.24333896,-0.27722535,0.10632019,   0.23746844,-0.28665953,0.10404655,   0.24223845,-0.28650682,0.10370285,   0.24582661,-0.28159521,0.10541897,   0.23746844,-0.28665953,0.10404655,   0.23546205,-0.29119488,0.092382035,   0.23735935,-0.28686961,0.098487575,   0.23746844,-0.28665953,0.10404655,   0.23558576,-0.29106057,0.1159041,   0.23546205,-0.29119488,0.092382035,   0.23735935,-0.28686961,0.098487575,   0.24249182,-0.28665523,0.099369649,   0.23746844,-0.28665953,0.10404655,   0.23735935,-0.28686961,0.098487575,   0.23546205,-0.29119488,0.092382035,   0.24402583,-0.27739459,0.096178138,   0.24402583,-0.27739459,0.096178138,   0.24526588,-0.2822986,0.097055011,   0.23735935,-0.28686961,0.098487575,   0.24402583,-0.27739459,0.096178138,   0.24921796,-0.27724977,0.096988176,   0.24526588,-0.2822986,0.097055011,   0.24402583,-0.27739459,0.096178138,   0.25395146,-0.26478282,0.092330313,   0.25049938,-0.26782704,0.097958363,   0.24402583,-0.27739459,0.096178138,   0.24422314,-0.27783491,0.084925853,   0.25395146,-0.26478282,0.092330313,   0.24333896,-0.27722535,0.10632019,   0.24862785,-0.27708803,0.1051242,   0.25034079,-0.26756398,0.1042687,   0.24333896,-0.27722535,0.10632019,   0.23558576,-0.29106057,0.1159041,   0.23746844,-0.28665953,0.10404655,   0.24333896,-0.27722535,0.10632019,   0.24452731,-0.27783102,0.12368329,   0.23558576,-0.29106057,0.1159041,   0.25049938,-0.26782704,0.097958363,   0.24921796,-0.27724977,0.096988176,   0.24402583,-0.27739459,0.096178138,   0.25049938,-0.26782704,0.097958363,   0.25395146,-0.26478282,0.092330313,   0.25034079,-0.26756398,0.1042687,   0.25034079,-0.26756398,0.1042687,   0.25221195,-0.27226862,0.098564603,   0.25049938,-0.26782704,0.097958363,   0.25034079,-0.26756398,0.1042687,   0.24862785,-0.27708803,0.1051242,   0.25253954,-0.27254412,0.103609,   0.25034079,-0.26756398,0.1042687,   0.25389444,-0.26461013,0.11591606,   0.24333896,-0.27722535,0.10632019,   0.26517836,-0.28114831,0.10506553,   0.26791615,-0.27844691,0.10929966,   0.26372478,-0.27798393,0.11275105,   0.26517836,-0.28114831,0.10506553,   0.26511689,-0.27367231,0.10251408,   0.26791615,-0.27844691,0.10929966,   0.26517836,-0.28114831,0.10506553,   0.26250497,-0.27926112,0.099642391,   0.26511689,-0.27367231,0.10251408,   0.26517836,-0.28114831,0.10506553,   0.27173873,-0.28632613,0.10086409,   0.26250497,-0.27926112,0.099642391,   0.27181922,-0.28950871,0.1185803,   0.2686239,-0.29127506,0.11691715,   0.2700763,-0.29260666,0.1196677,   0.27181922,-0.28950871,0.1185803,   0.27164493,-0.28935579,0.11735304,   0.2686239,-0.29127506,0.11691715,   0.27181922,-0.28950871,0.1185803,   0.27639136,-0.28969262,0.11677264,   0.27164493,-0.28935579,0.11735304,   0.2700763,-0.29260666,0.1196677,   0.26542121,-0.29577185,0.11639712,   0.267464,-0.29695191,0.11992635,   0.2700763,-0.29260666,0.1196677,   0.2686239,-0.29127506,0.11691715,   0.26542121,-0.29577185,0.11639712,   0.2700763,-0.29260666,0.1196677,   0.27411159,-0.29466687,0.11733912,   0.27181922,-0.28950871,0.1185803,   0.267464,-0.29695191,0.11992635,   0.26542121,-0.29577185,0.11639712,   0.2649978,-0.29979044,0.11876672,   0.267464,-0.29695191,0.11992635,   0.27411159,-0.29466687,0.11733912,   0.2700763,-0.29260666,0.1196677,   0.2649978,-0.29979044,0.11876672,   0.26542121,-0.29577185,0.11639712,   0.26428884,-0.29929896,0.11703171,   0.2649978,-0.29979044,0.11876672,   0.27044287,-0.29974175,0.11741709,   0.267464,-0.29695191,0.11992635,   0.2649978,-0.29979044,0.11876672,   0.26655253,-0.30367791,0.11626137,   0.27044287,-0.29974175,0.11741709,   0.26428884,-0.29929896,0.11703171,   0.26655253,-0.30367791,0.11626137,   0.2649978,-0.29979044,0.11876672,   0.26428884,-0.29929896,0.11703171,   0.2658629,-0.30352794,0.11448648,   0.26655253,-0.30367791,0.11626137,   0.26542121,-0.29577185,0.11639712,   0.26874002,-0.29792852,0.11387324,   0.26428884,-0.29929896,0.11703171,   0.2686239,-0.29127506,0.11691715,   0.26874002,-0.29792852,0.11387324,   0.26542121,-0.29577185,0.11639712,   0.27164493,-0.28935579,0.11735304,   0.27155315,-0.29349604,0.11408956,   0.2686239,-0.29127506,0.11691715,   0.27164493,-0.28935579,0.11735304,   0.27587841,-0.28872189,0.11409801,   0.27155315,-0.29349604,0.11408956,   0.27155315,-0.29349604,0.11408956,   0.26874002,-0.29792852,0.11387324,   0.2686239,-0.29127506,0.11691715,   0.27155315,-0.29349604,0.11408956,   0.26940259,-0.29849985,0.10967205,   0.26874002,-0.29792852,0.11387324,   0.27155315,-0.29349604,0.11408956,   0.27222843,-0.29373653,0.10956846,   0.26940259,-0.29849985,0.10967205,   0.26874002,-0.29792852,0.11387324,   0.2658629,-0.30352794,0.11448648,   0.26428884,-0.29929896,0.11703171,   0.26874002,-0.29792852,0.11387324,   0.26940259,-0.29849985,0.10967205,   0.2658629,-0.30352794,0.11448648,   0.27044287,-0.29974175,0.11741709,   0.27411159,-0.29466687,0.11733912,   0.267464,-0.29695191,0.11992635,   0.27044287,-0.29974175,0.11741709,   0.27577825,-0.2961392,0.11021281,   0.27411159,-0.29466687,0.11733912,   0.27044287,-0.29974175,0.11741709,   0.27256987,-0.30110707,0.1102109,   0.27577825,-0.2961392,0.11021281,   0.27411159,-0.29466687,0.11733912,   0.27639136,-0.28969262,0.11677264,   0.27181922,-0.28950871,0.1185803,   0.27411159,-0.29466687,0.11733912,   0.27577825,-0.2961392,0.11021281,   0.27639136,-0.28969262,0.11677264,   0.27639136,-0.28969262,0.11677264,   0.27587841,-0.28872189,0.11409801,   0.27164493,-0.28935579,0.11735304,   0.27639136,-0.28969262,0.11677264,   0.27853886,-0.29092672,0.10964362,   0.27587841,-0.28872189,0.11409801,   0.27639136,-0.28969262,0.11677264,   0.27577825,-0.2961392,0.11021281,   0.27853886,-0.29092672,0.10964362,   0.27587841,-0.28872189,0.11409801,   0.27222843,-0.29373653,0.10956846,   0.27155315,-0.29349604,0.11408956,   0.27587841,-0.28872189,0.11409801,   0.27595636,-0.28974117,0.10900675,   0.27222843,-0.29373653,0.10956846,   0.26655253,-0.30367791,0.11626137,   0.27256987,-0.30110707,0.1102109,   0.27044287,-0.29974175,0.11741709,   0.26655253,-0.30367791,0.11626137,   0.26817556,-0.30550662,0.10942623,   0.27256987,-0.30110707,0.1102109,   0.2658629,-0.30352794,0.11448648,   0.26817556,-0.30550662,0.10942623,   0.26655253,-0.30367791,0.11626137,   0.2658629,-0.30352794,0.11448648,   0.26689145,-0.30370732,0.10883419,   0.26817556,-0.30550662,0.10942623,   0.2658629,-0.30352794,0.11448648,   0.26940259,-0.29849985,0.10967205,   0.26689145,-0.30370732,0.10883419,   0.27853886,-0.29092672,0.10964362,   0.27595636,-0.28974117,0.10900675,   0.27587841,-0.28872189,0.11409801,   0.27853886,-0.29092672,0.10964362,   0.27404119,-0.287523,0.09805225,   0.27595636,-0.28974117,0.10900675,   0.27577825,-0.2961392,0.11021281,   0.27404119,-0.287523,0.09805225,   0.27853886,-0.29092672,0.10964362,   0.27256987,-0.30110707,0.1102109,   0.27129631,-0.29266459,0.096602574,   0.27577825,-0.2961392,0.11021281,   0.26817556,-0.30550662,0.10942623,   0.26801356,-0.29782792,0.097224381,   0.27256987,-0.30110707,0.1102109,   0.26817556,-0.30550662,0.10942623,   0.26395404,-0.30293774,0.098493599,   0.26801356,-0.29782792,0.097224381,   0.26689145,-0.30370732,0.10883419,   0.26395404,-0.30293774,0.098493599,   0.26817556,-0.30550662,0.10942623,   0.26940259,-0.29849985,0.10967205,   0.2650044,-0.29549815,0.10220566,   0.26689145,-0.30370732,0.10883419,   0.27222843,-0.29373653,0.10956846,   0.26875856,-0.29104236,0.1018181,   0.26940259,-0.29849985,0.10967205,   0.27595636,-0.28974117,0.10900675,   0.26875856,-0.29104236,0.1018181,   0.27222843,-0.29373653,0.10956846,   0.27595636,-0.28974117,0.10900675,   0.27173873,-0.28632613,0.10086409,   0.26875856,-0.29104236,0.1018181,   0.27595636,-0.28974117,0.10900675,   0.27404119,-0.287523,0.09805225,   0.27173873,-0.28632613,0.10086409,   0.26951953,-0.27977774,0.11687219,   0.26840572,-0.27785487,0.11786711,   0.26731771,-0.28004326,0.11627475,   0.26951953,-0.27977774,0.11687219,   0.27192284,-0.27791717,0.11565129,   0.26840572,-0.27785487,0.11786711,   0.26372478,-0.27798393,0.11275105,   0.26840572,-0.27785487,0.11786711,   0.26346673,-0.27342018,0.1123384,   0.26372478,-0.27798393,0.11275105,   0.27051776,-0.28048955,0.11379296,   0.26731771,-0.28004326,0.11627475,   0.26372478,-0.27798393,0.11275105,   0.25900401,-0.27566756,0.10772256,   0.26517836,-0.28114831,0.10506553,   0.26346673,-0.27342018,0.1123384,   0.26840572,-0.27785487,0.11786711,   0.26782422,-0.27345691,0.10894127,   0.26346673,-0.27342018,0.1123384,   0.25900401,-0.27566756,0.10772256,   0.26372478,-0.27798393,0.11275105,   0.26782422,-0.27345691,0.10894127,   0.27192284,-0.27791717,0.11565129,   0.26791615,-0.27844691,0.10929966,   0.26782422,-0.27345691,0.10894127,   0.26276214,-0.27129777,0.10649541,   0.26346673,-0.27342018,0.1123384,   0.26791615,-0.27844691,0.10929966,   0.27051776,-0.28048955,0.11379296,   0.26372478,-0.27798393,0.11275105,   0.26791615,-0.27844691,0.10929966,   0.27192284,-0.27791717,0.11565129,   0.27051776,-0.28048955,0.11379296,   0.26791615,-0.27844691,0.10929966,   0.26511689,-0.27367231,0.10251408,   0.26782422,-0.27345691,0.10894127,   0.26731771,-0.28004326,0.11627475,   0.26840572,-0.27785487,0.11786711,   0.26372478,-0.27798393,0.11275105,   0.26731771,-0.28004326,0.11627475,   0.27051776,-0.28048955,0.11379296,   0.26951953,-0.27977774,0.11687219,   0.26840572,-0.27785487,0.11786711,   0.27192284,-0.27791717,0.11565129,   0.26782422,-0.27345691,0.10894127,   0.27051776,-0.28048955,0.11379296,   0.27192284,-0.27791717,0.11565129,   0.26951953,-0.27977774,0.11687219,   0.25253954,-0.27254412,0.103609,   0.25221195,-0.27226862,0.098564603,   0.25034079,-0.26756398,0.1042687,   0.25253954,-0.27254412,0.103609,   0.26276214,-0.27129777,0.10649541,   0.25221195,-0.27226862,0.098564603,   0.25253954,-0.27254412,0.103609,   0.25900401,-0.27566756,0.10772256,   0.26276214,-0.27129777,0.10649541,   0.25253954,-0.27254412,0.103609,   0.24862785,-0.27708803,0.1051242,   0.25900401,-0.27566756,0.10772256,   0.25221195,-0.27226862,0.098564603,   0.26276214,-0.27129777,0.10649541,   0.26511689,-0.27367231,0.10251408,   0.25221195,-0.27226862,0.098564603,   0.24921796,-0.27724977,0.096988176,   0.25049938,-0.26782704,0.097958363,   0.26511689,-0.27367231,0.10251408,   0.26276214,-0.27129777,0.10649541,   0.26782422,-0.27345691,0.10894127,   0.26511689,-0.27367231,0.10251408,   0.26250497,-0.27926112,0.099642391,   0.25221195,-0.27226862,0.098564603,   0.26276214,-0.27129777,0.10649541,   0.25900401,-0.27566756,0.10772256,   0.26346673,-0.27342018,0.1123384,   0.26250497,-0.27926112,0.099642391,   0.24921796,-0.27724977,0.096988176,   0.25221195,-0.27226862,0.098564603,   0.26250497,-0.27926112,0.099642391,   0.27404119,-0.287523,0.09805225,   0.27129631,-0.29266459,0.096602574,   0.25900401,-0.27566756,0.10772256,   0.26875856,-0.29104236,0.1018181,   0.26517836,-0.28114831,0.10506553,   0.25900401,-0.27566756,0.10772256,   0.24862785,-0.27708803,0.1051242,   0.26875856,-0.29104236,0.1018181,   0.26875856,-0.29104236,0.1018181,   0.2650044,-0.29549815,0.10220566,   0.26940259,-0.29849985,0.10967205,   0.26875856,-0.29104236,0.1018181,   0.24582661,-0.28159521,0.10541897,   0.2650044,-0.29549815,0.10220566,   0.26875856,-0.29104236,0.1018181,   0.24862785,-0.27708803,0.1051242,   0.24582661,-0.28159521,0.10541897,   0.26875856,-0.29104236,0.1018181,   0.27173873,-0.28632613,0.10086409,   0.26517836,-0.28114831,0.10506553,   0.2650044,-0.29549815,0.10220566,   0.26161111,-0.30144149,0.10082385,   0.26689145,-0.30370732,0.10883419,   0.2650044,-0.29549815,0.10220566,   0.24223845,-0.28650682,0.10370285,   0.24611299,-0.29187313,0.10312705,   0.26801356,-0.29782792,0.097224381,   0.27129631,-0.29266459,0.096602574,   0.27256987,-0.30110707,0.1102109,   0.26801356,-0.29782792,0.097224381,   0.24526588,-0.2822986,0.097055011,   0.27129631,-0.29266459,0.096602574,   0.26801356,-0.29782792,0.097224381,   0.26395404,-0.30293774,0.098493599,   0.24526588,-0.2822986,0.097055011,   0.27129631,-0.29266459,0.096602574,   0.24921796,-0.27724977,0.096988176,   0.26250497,-0.27926112,0.099642391,   0.27129631,-0.29266459,0.096602574,   0.27404119,-0.287523,0.09805225,   0.27577825,-0.2961392,0.11021281,   0.24526588,-0.2822986,0.097055011,   0.24921796,-0.27724977,0.096988176,   0.27129631,-0.29266459,0.096602574,   0.24526588,-0.2822986,0.097055011,   0.24249182,-0.28665523,0.099369649,   0.23735935,-0.28686961,0.098487575,   0.24582661,-0.28159521,0.10541897,   0.24862785,-0.27708803,0.1051242,   0.24333896,-0.27722535,0.10632019,   0.24582661,-0.28159521,0.10541897,   0.24223845,-0.28650682,0.10370285,   0.2650044,-0.29549815,0.10220566,   0.27173873,-0.28632613,0.10086409,   0.27404119,-0.287523,0.09805225,   0.26250497,-0.27926112,0.099642391,   0.26161111,-0.30144149,0.10082385,   0.26395404,-0.30293774,0.098493599,   0.26689145,-0.30370732,0.10883419,   0.26161111,-0.30144149,0.10082385,   0.24611299,-0.29187313,0.10312705,   0.24678426,-0.29229111,0.099194439,   0.26395404,-0.30293774,0.098493599,   0.24678426,-0.29229111,0.099194439,   0.24249182,-0.28665523,0.099369649,   0.24249182,-0.28665523,0.099369649,   0.24223845,-0.28650682,0.10370285,   0.23746844,-0.28665953,0.10404655,   0.24249182,-0.28665523,0.099369649,   0.24678426,-0.29229111,0.099194439,   0.24611299,-0.29187313,0.10312705,   0.23546205,-0.29119488,0.092382035,   0.24422314,-0.27783491,0.084925853,   0.24402583,-0.27739459,0.096178138,   0.23546205,-0.29119488,0.092382035,   0.22891232,-0.28642759,0.092614856,   0.24422314,-0.27783491,0.084925853,   0.25395146,-0.26478282,0.092330313,   0.25389444,-0.26461013,0.11591606,   0.25034079,-0.26756398,0.1042687,   0.25395146,-0.26478282,0.092330313,   0.24689883,-0.26008712,0.11607207,   0.25389444,-0.26461013,0.11591606,   0.25395146,-0.26478282,0.092330313,   0.24724202,-0.25968959,0.092750364,   0.24689883,-0.26008712,0.11607207,   0.23558576,-0.29106057,0.1159041,   0.2285727,-0.28656737,0.11582325,   0.23546205,-0.29119488,0.092382035,   0.25389444,-0.26461013,0.11591606,   0.24452731,-0.27783102,0.12368329,   0.24333896,-0.27722535,0.10632019,   0.25389444,-0.26461013,0.11591606,   0.23812349,-0.27330985,0.12356446,   0.24452731,-0.27783102,0.12368329,   0.25389444,-0.26461013,0.11591606,   0.24689883,-0.26008712,0.11607207,   0.23812349,-0.27330985,0.12356446,   0.24422314,-0.27783491,0.084925853,   0.24724202,-0.25968959,0.092750364,   0.25395146,-0.26478282,0.092330313,   0.24422314,-0.27783491,0.084925853,   0.22891232,-0.28642759,0.092614856,   0.23781083,-0.27349806,0.084753214,   0.24452731,-0.27783102,0.12368329,   0.2285727,-0.28656737,0.11582325,   0.23558576,-0.29106057,0.1159041,   0.23812349,-0.27330985,0.12356446,   0.2285727,-0.28656737,0.11582325,   0.24452731,-0.27783102,0.12368329,   0.23812349,-0.27330985,0.12356446,   0.21374697,-0.26880074,0.11997491,   0.2285727,-0.28656737,0.11582325,   0.23812349,-0.27330985,0.12356446,   0.22781284,-0.24812273,0.11976352,   0.21374697,-0.26880074,0.11997491,   0.23781083,-0.27349806,0.084753214,   0.24724202,-0.25968959,0.092750364,   0.24422314,-0.27783491,0.084925853,   0.23781083,-0.27349806,0.084753214,   0.22833852,-0.24777407,0.088691014,   0.24724202,-0.25968959,0.092750364,   0.23781083,-0.27349806,0.084753214,   0.21360859,-0.26916531,0.088594656,   0.22833852,-0.24777407,0.088691014,   0.2285727,-0.28656737,0.11582325,   0.22891232,-0.28642759,0.092614856,   0.23546205,-0.29119488,0.092382035,   0.2285727,-0.28656737,0.11582325,   0.21374697,-0.26880074,0.11997491,   0.22891232,-0.28642759,0.092614856,   0.24689883,-0.26008712,0.11607207,   0.22781284,-0.24812273,0.11976352,   0.23812349,-0.27330985,0.12356446,   0.24724202,-0.25968959,0.092750364,   0.22833852,-0.24777407,0.088691014,   0.24689883,-0.26008712,0.11607207,   0.22891232,-0.28642759,0.092614856,   0.21360859,-0.26916531,0.088594656,   0.23781083,-0.27349806,0.084753214,   0.22891232,-0.28642759,0.092614856,   0.21374697,-0.26880074,0.11997491,   0.21360859,-0.26916531,0.088594656,   0.22833852,-0.24777407,0.088691014,   0.22781284,-0.24812273,0.11976352,   0.24689883,-0.26008712,0.11607207,   0.22833852,-0.24777407,0.088691014,   0.21891401,-0.2372089,0.11759337,   0.22781284,-0.24812273,0.11976352,   0.22833852,-0.24777407,0.088691014,   0.21902057,-0.23746903,0.091375208,   0.21891401,-0.2372089,0.11759337,   0.21360859,-0.26916531,0.088594656,   0.21902057,-0.23746903,0.091375208,   0.22833852,-0.24777407,0.088691014,   0.21360859,-0.26916531,0.088594656,   0.19229919,-0.25087996,0.09503206,   0.21902057,-0.23746903,0.091375208,   0.21374697,-0.26880074,0.11997491,   0.21891401,-0.2372089,0.11759337,   0.19208477,-0.25117475,0.11352395,   0.21374697,-0.26880074,0.11997491,   0.19229919,-0.25087996,0.09503206,   0.21360859,-0.26916531,0.088594656,   0.22781284,-0.24812273,0.11976352,   0.21891401,-0.2372089,0.11759337,   0.21374697,-0.26880074,0.11997491,   0.19208477,-0.25117475,0.11352395,   0.19229919,-0.25087996,0.09503206,   0.21374697,-0.26880074,0.11997491,   0.19208477,-0.25117475,0.11352395,   0.19691275,-0.20124806,0.088912279,   0.19229919,-0.25087996,0.09503206,   0.21891401,-0.2372089,0.11759337,   0.19433486,-0.20180914,0.12069487,   0.19208477,-0.25117475,0.11352395,   0.21891401,-0.2372089,0.11759337,   0.22474768,-0.20183467,0.12091562,   0.19433486,-0.20180914,0.12069487,   0.21891401,-0.2372089,0.11759337,   0.22231833,-0.20154812,0.088467261,   0.22474768,-0.20183467,0.12091562,   0.21902057,-0.23746903,0.091375208,   0.22231833,-0.20154812,0.088467261,   0.21891401,-0.2372089,0.11759337,   0.21902057,-0.23746903,0.091375208,   0.19691275,-0.20124806,0.088912279,   0.22231833,-0.20154812,0.088467261,   0.19229919,-0.25087996,0.09503206,   0.19691275,-0.20124806,0.088912279,   0.21902057,-0.23746903,0.091375208,   0.19433486,-0.20180914,0.12069487,   0.22474768,-0.20183467,0.12091562,   0.19336347,-0.28346854,0.13562816,   0.19433486,-0.20180914,0.12069487,   0.19691275,-0.20124806,0.088912279,   0.19208477,-0.25117475,0.11352395,   0.19433486,-0.20180914,0.12069487,   0.19422377,-0.20169253,0.085933454,   0.19691275,-0.20124806,0.088912279,   0.19433486,-0.20180914,0.12069487,   0.19725951,-0.17047405,0.10606249,   0.19422377,-0.20169253,0.085933454,   0.22474768,-0.20183467,0.12091562,   0.24525286,-0.20148256,0.16684914,   0.2231777,-0.28358661,0.13546271,   0.22474768,-0.20183467,0.12091562,   0.23868291,-0.17066126,0.14313694,   0.24525286,-0.20148256,0.16684914,   0.24525286,-0.20148256,0.16684914,   0.23935864,-0.28360778,0.16673705,   0.2231777,-0.28358661,0.13546271,   0.24525286,-0.20148256,0.16684914,   0.23861188,-0.1708074,0.16441054,   0.24941083,-0.20130148,0.17601069,   0.24525286,-0.20148256,0.16684914,   0.23868291,-0.17066126,0.14313694,   0.23861188,-0.1708074,0.16441054,   0.2096656,-0.16024017,0.12653732,   0.19725951,-0.17047405,0.10606249,   0.18213177,-0.17064596,0.14321915,   0.2096656,-0.16024017,0.12653732,   0.22168445,-0.17114241,0.10639525,   0.19725951,-0.17047405,0.10606249,   0.2096656,-0.16024017,0.12653732,   0.23868291,-0.17066126,0.14313694,   0.22168445,-0.17114241,0.10639525,   0.2002536,-0.15615738,0.17964877,   0.21718369,-0.15631964,0.17144571,   0.2096656,-0.16024017,0.12653732,   0.22231833,-0.20154812,0.088467261,   0.22466908,-0.20129788,0.085658157,   0.22474768,-0.20183467,0.12091562,   0.19691275,-0.20124806,0.088912279,   0.19422377,-0.20169253,0.085933454,   0.22231833,-0.20154812,0.088467261,   0.19422377,-0.20169253,0.085933454,   0.22466908,-0.20129788,0.085658157,   0.22231833,-0.20154812,0.088467261,   0.19422377,-0.20169253,0.085933454,   0.19725951,-0.17047405,0.10606249,   0.22466908,-0.20129788,0.085658157,   0.22466908,-0.20129788,0.085658157,   0.22168445,-0.17114241,0.10639525,   0.22474768,-0.20183467,0.12091562,   0.19725951,-0.17047405,0.10606249,   0.22168445,-0.17114241,0.10639525,   0.22466908,-0.20129788,0.085658157,   0.22168445,-0.17114241,0.10639525,   0.23868291,-0.17066126,0.14313694,   0.22474768,-0.20183467,0.12091562,   0.23779949,-0.13799327,0.17462017,   0.23960847,-0.14511382,0.17988383,   0.24501611,-0.15519407,0.17377603,   0.23779949,-0.13799327,0.17462017,   0.24010796,-0.1319674,0.17480827,   0.23907464,-0.13897429,0.17975267,   0.21792151,-0.13277427,0.16572214,   0.22847266,-0.120231,0.16634349,   0.22886482,-0.1314429,0.16727427,   0.21792151,-0.13277427,0.16572214,   0.22567341,-0.12575313,0.16416786,   0.22847266,-0.120231,0.16634349,   0.22008991,-0.14623627,0.16412981,   0.22567341,-0.12575313,0.16416786,   0.21792151,-0.13277427,0.16572214,   0.22008991,-0.14623627,0.16412981,   0.21636963,-0.13993154,0.15893867,   0.22567341,-0.12575313,0.16416786,   0.22008991,-0.14623627,0.16412981,   0.21718369,-0.15631964,0.17144571,   0.20031287,-0.15252725,0.17966292,   0.24171479,-0.11553975,0.17707964,   0.24102256,-0.11995899,0.1757684,   0.22847266,-0.120231,0.16634349,   0.24171479,-0.11553975,0.17707964,   0.22621649,-0.11728868,0.16457056,   0.23974632,-0.10853022,0.17865082,   0.24622697,-0.13261923,0.18577851,   0.24751335,-0.1319675,0.18665758,   0.24651707,-0.13231628,0.19108203,   0.24622697,-0.13261923,0.18577851,   0.24547808,-0.12773774,0.18582676,   0.24751335,-0.1319675,0.18665758,   0.24751335,-0.1319675,0.18665758,   0.24547808,-0.12773774,0.18582676,   0.24780602,-0.132095,0.19071559,   0.23669118,-0.12509508,0.17770916,   0.23685781,-0.12472546,0.18172584,   0.23953282,-0.12563863,0.18406115,   0.2400911,-0.13685666,0.18361704,   0.23907464,-0.13897429,0.17975267,   0.24005278,-0.13295569,0.18389414,   0.23907464,-0.13897429,0.17975267,   0.23960847,-0.14511382,0.17988383,   0.23779949,-0.13799327,0.17462017,   0.23907464,-0.13897429,0.17975267,   0.24010796,-0.1319674,0.17480827,   0.24005278,-0.13295569,0.18389414,   0.24547808,-0.12773774,0.18582676,   0.23953282,-0.12563863,0.18406115,   0.24247982,-0.12218643,0.18717891,   0.23953282,-0.12563863,0.18406115,   0.23955342,-0.11989108,0.18410515,   0.24247982,-0.12218643,0.18717891,   0.23953282,-0.12563863,0.18406115,   0.24051025,-0.12576308,0.17563918,   0.23669118,-0.12509508,0.17770916,   0.23953282,-0.12563863,0.18406115,   0.23735404,-0.122838,0.18309014,   0.23955342,-0.11989108,0.18410515,   0.23953282,-0.12563863,0.18406115,   0.23685781,-0.12472546,0.18172584,   0.23735404,-0.122838,0.18309014,   0.23955342,-0.11989108,0.18410515,   0.24102256,-0.11995899,0.1757684,   0.24171479,-0.11553975,0.17707964,   0.23955342,-0.11989108,0.18410515,   0.23690037,-0.1210342,0.17783459,   0.24102256,-0.11995899,0.1757684,   0.24010796,-0.1319674,0.17480827,   0.24051025,-0.12576308,0.17563918,   0.23953282,-0.12563863,0.18406115,   0.24051025,-0.12576308,0.17563918,   0.23743046,-0.12312796,0.17706008,   0.23669118,-0.12509508,0.17770916,   0.22847266,-0.120231,0.16634349,   0.24102256,-0.11995899,0.1757684,   0.24051025,-0.12576308,0.17563918,   0.22847266,-0.120231,0.16634349,   0.22621649,-0.11728868,0.16457056,   0.24171479,-0.11553975,0.17707964,   0.24102256,-0.11995899,0.1757684,   0.23743046,-0.12312796,0.17706008,   0.24051025,-0.12576308,0.17563918,   0.24102256,-0.11995899,0.1757684,   0.23690037,-0.1210342,0.17783459,   0.23743046,-0.12312796,0.17706008,   0.23743046,-0.12312796,0.17706008,   0.23896685,-0.12277147,0.17832322,   0.23669118,-0.12509508,0.17770916,   0.23743046,-0.12312796,0.17706008,   0.23690037,-0.1210342,0.17783459,   0.23896685,-0.12277147,0.17832322,   0.23735404,-0.122838,0.18309014,   0.23685781,-0.12472546,0.18172584,   0.2388259,-0.1231972,0.18189288,   0.23735404,-0.122838,0.18309014,   0.23702372,-0.12126928,0.18211978,   0.23955342,-0.11989108,0.18410515,   0.23896685,-0.12277147,0.17832322,   0.23886837,-0.12408574,0.17880376,   0.23669118,-0.12509508,0.17770916,   0.23896685,-0.12277147,0.17832322,   0.23921358,-0.12409042,0.18116607,   0.23886837,-0.12408574,0.17880376,   0.23896685,-0.12277147,0.17832322,   0.23909776,-0.12177367,0.17863593,   0.23921358,-0.12409042,0.18116607,   0.23896685,-0.12277147,0.17832322,   0.23690037,-0.1210342,0.17783459,   0.23909776,-0.12177367,0.17863593,   0.2388259,-0.1231972,0.18189288,   0.23909776,-0.12177367,0.17863593,   0.23877346,-0.1218126,0.18108281,   0.2388259,-0.1231972,0.18189288,   0.23685781,-0.12472546,0.18172584,   0.23921358,-0.12409042,0.18116607,   0.2388259,-0.1231972,0.18189288,   0.23702372,-0.12126928,0.18211978,   0.23735404,-0.122838,0.18309014,   0.23886837,-0.12408574,0.17880376,   0.23685781,-0.12472546,0.18172584,   0.23669118,-0.12509508,0.17770916,   0.23921358,-0.12409042,0.18116607,   0.23909776,-0.12177367,0.17863593,   0.2388259,-0.1231972,0.18189288,   0.23921358,-0.12409042,0.18116607,   0.23685781,-0.12472546,0.18172584,   0.23886837,-0.12408574,0.17880376,   0.23877346,-0.1218126,0.18108281,   0.23702372,-0.12126928,0.18211978,   0.2388259,-0.1231972,0.18189288,   0.23877346,-0.1218126,0.18108281,   0.23690037,-0.1210342,0.17783459,   0.23702372,-0.12126928,0.18211978,   0.23909776,-0.12177367,0.17863593,   0.23690037,-0.1210342,0.17783459,   0.23877346,-0.1218126,0.18108281,   0.23702372,-0.12126928,0.18211978,   0.23690037,-0.1210342,0.17783459,   0.23955342,-0.11989108,0.18410515,   0.20737883,-0.10033673,0.17970307,   0.19710042,-0.1050879,0.1778862,   0.20720092,-0.10034156,0.19674306,   0.21333033,-0.10702599,0.16986351,   0.22621649,-0.11728868,0.16457056,   0.22167838,-0.12583606,0.16049532,   0.21333033,-0.10702599,0.16986351,   0.19710042,-0.1050879,0.1778862,   0.20737883,-0.10033673,0.17970307,   0.22167838,-0.12583606,0.16049532,   0.1925983,-0.12564311,0.16898778,   0.21333033,-0.10702599,0.16986351,   0.22167838,-0.12583606,0.16049532,   0.22621649,-0.11728868,0.16457056,   0.22567341,-0.12575313,0.16416786,   0.22567341,-0.12575313,0.16416786,   0.21636963,-0.13993154,0.15893867,   0.22167838,-0.12583606,0.16049532,   0.22567341,-0.12575313,0.16416786,   0.22621649,-0.11728868,0.16457056,   0.22847266,-0.120231,0.16634349,   0.19330433,-0.1527978,0.17252164,   0.21636963,-0.13993154,0.15893867,   0.22008991,-0.14623627,0.16412981,   0.19330433,-0.1527978,0.17252164,   0.1925983,-0.12564311,0.16898778,   0.21636963,-0.13993154,0.15893867,   0.21636963,-0.13993154,0.15893867,   0.1925983,-0.12564311,0.16898778,   0.22167838,-0.12583606,0.16049532,   0.18601269,-0.12576507,0.1800889,   0.1925983,-0.12564311,0.16898778,   0.19330433,-0.1527978,0.17252164,   0.18601269,-0.12576507,0.1800889,   0.19710042,-0.1050879,0.1778862,   0.1925983,-0.12564311,0.16898778,   0.1925983,-0.12564311,0.16898778,   0.19710042,-0.1050879,0.1778862,   0.21333033,-0.10702599,0.16986351,   0.19141025,-0.40007533,0.17610266,   0.24922524,-0.39998816,0.17624701,   0.22215864,-0.38123942,0.17380555,   0.19141025,-0.40007533,0.17610266,   0.24915318,-0.40024202,0.13846659,   0.24922524,-0.39998816,0.17624701,   0.24922524,-0.39998816,0.17624701,   0.24915318,-0.40024202,0.13846659,   0.24716872,-0.38769038,0.17538832,   0.23861188,-0.1708074,0.16441054,   0.21718369,-0.15631964,0.17144571,   0.22008991,-0.14623627,0.16412981,   0.23861188,-0.1708074,0.16441054,   0.23868291,-0.17066126,0.14313694,   0.21718369,-0.15631964,0.17144571,   0.21718369,-0.15631964,0.17144571,   0.23868291,-0.17066126,0.14313694,   0.2096656,-0.16024017,0.12653732,   0.24661477,-0.29209738,0.27773908,   0.26346444,-0.30410818,0.27623725,   0.24543363,-0.28189769,0.27930171,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.800276,0.549776,   0.623546,0.441019,   0.800276,0.441019,   0.800276,0.549776,   0.623546,0.549776,   0.623546,0.441019,   0.694712,0.990588,   0.734996,0.961992,   0.77528,0.990588,   0.694712,0.990588,   0.697806,0.97193,   0.734996,0.961992,   0.694712,0.990588,   0.652728,0.960596,   0.697806,0.97193,   0.646629,0.978498,   0.652728,0.960596,   0.694712,0.990588,   0.694712,0.990588,   0.734996,0.961992,   0.697806,0.97193,   0.77528,0.990588,   0.734996,0.961992,   0.694712,0.990588,   0.77528,0.990588,   0.772184,0.965605,   0.734996,0.961992,   0.77528,0.990588,   0.734996,0.961992,   0.772184,0.965605,   0.77528,0.990588,   0.814253,0.95501,   0.823359,0.97848,   0.654329,0.817364,   0.816218,0.822246,   0.798014,0.934199,   0.772184,0.965605,   0.814253,0.95501,   0.77528,0.990588,   0.669819,0.738906,   0.816218,0.822246,   0.654329,0.817364,   0.669819,0.738906,   0.659818,0.646009,   0.813471,0.62914,   0.508998,0.619936,   0.275522,0.733037,   0.475037,0.544954,   0.985358,0.752418,   0.820203,0.742307,   0.983795,0.602548,   0.985358,0.752418,   0.816218,0.822246,   0.820203,0.742307,   0.508998,0.619936,   0.362422,0.85694,   0.275522,0.733037,   0.602563,0.723134,   0.559982,0.703643,   0.508998,0.619936,   0.983795,0.602548,   0.820203,0.742307,   0.813471,0.62914,   0.983795,0.602548,   0.801934,0.560641,   0.964423,0.497747,   0.602563,0.723134,   0.632024,0.752693,   0.559982,0.703643,   0.556016,0.376286,   0.448746,0.357125,   0.546823,0.335187,   0.96259,0.987723,   0.798014,0.934199,   0.985358,0.837917,   0.457939,0.398224,   0.448746,0.357125,   0.556016,0.376286,   0.475037,0.544954,   0.451622,0.446715,   0.469506,0.401201,   0.475037,0.544954,   0.125023,0.594963,   0.451622,0.446715,   0.475037,0.544954,   0.236033,0.645849,   0.125023,0.594963,   0.985358,0.837917,   0.816218,0.822246,   0.985358,0.752418,   0.559982,0.703643,   0.362422,0.85694,   0.508998,0.619936,   0.559982,0.703643,   0.449811,0.966089,   0.362422,0.85694,   0.559982,0.703643,   0.652416,0.797749,   0.449811,0.966089,   0.451622,0.446715,   0.422372,0.315946,   0.457939,0.398224,   0.17087,0.759872,   0.275522,0.733037,   0.247076,0.845005,   0.17087,0.759872,   0.158868,0.83847,   0.097751,0.78839,   0.097751,0.78839,   0.1158,0.698465,   0.17087,0.759872,   0.097751,0.78839,   0.081935,0.72282,   0.1158,0.698465,   0.097751,0.78839,   0.032484,0.733101,   0.081935,0.72282,   0.097751,0.78839,   0.158868,0.83847,   0.097058,0.90907,   0.247076,0.845005,   0.296671,0.90537,   0.234719,0.950468,   0.247076,0.845005,   0.158868,0.83847,   0.17087,0.759872,   0.247076,0.845005,   0.362422,0.85694,   0.296671,0.90537,   0.097058,0.90907,   0.001952,0.833096,   0.097751,0.78839,   0.097058,0.90907,   0.158868,0.83847,   0.195808,0.996522,   0.125023,0.594963,   0.063737,0.320971,   0.451622,0.446715,   0.125023,0.594963,   0.023627,0.446331,   0.063737,0.320971,   0.1158,0.698465,   0.161387,0.644271,   0.17087,0.759872,   0.1158,0.698465,   0.110989,0.690951,   0.161387,0.644271,   0.081935,0.72282,   0.110989,0.690951,   0.1158,0.698465,   0.275522,0.733037,   0.236033,0.645849,   0.475037,0.544954,   0.808988,0.029422,   0.808285,0.143947,   0.725615,0.036217,   0.275522,0.733037,   0.362422,0.85694,   0.247076,0.845005,   0.032484,0.733101,   0.078629,0.717748,   0.081935,0.72282,   0.725615,0.036217,   0.723619,0.171849,   0.630466,0.053895,   0.078629,0.717748,   0.110989,0.690951,   0.081935,0.72282,   0.956553,0.031526,   0.897591,0.144656,   0.895129,0.032726,   0.630466,0.053895,   0.723619,0.171849,   0.679501,0.188379,   0.895129,0.032726,   0.808285,0.143947,   0.808988,0.029422,   0.987175,0.161027,   0.897591,0.144656,   0.956553,0.031526,   0.987175,0.161027,   0.957354,0.21896,   0.897591,0.144656,   0.897591,0.144656,   0.808285,0.143947,   0.895129,0.032726,   0.897591,0.144656,   0.896866,0.188001,   0.808285,0.143947,   0.808285,0.143947,   0.723619,0.171849,   0.725615,0.036217,   0.808285,0.143947,   0.760683,0.221396,   0.723619,0.171849,   0.808285,0.143947,   0.896866,0.188001,   0.813758,0.189015,   0.723619,0.171849,   0.760683,0.221396,   0.679501,0.188379,   0.813471,0.62914,   0.820203,0.742307,   0.669819,0.738906,   0.813471,0.62914,   0.801934,0.560641,   0.983795,0.602548,   0.813471,0.62914,   0.659818,0.646009,   0.801934,0.560641,   0.820203,0.742307,   0.816218,0.822246,   0.669819,0.738906,   0.798014,0.934199,   0.816218,0.822246,   0.985358,0.837917,   0.798014,0.934199,   0.639452,0.910131,   0.654329,0.817364,   0.486223,0.161684,   0.52325,0.180832,   0.517331,0.185991,   0.234719,0.950468,   0.158868,0.83847,   0.247076,0.845005,   0.486223,0.161684,   0.488988,0.140271,   0.52325,0.180832,   0.195808,0.996522,   0.158868,0.83847,   0.234719,0.950468,   0.035327,0.498638,   0.023627,0.446331,   0.125023,0.594963,   0.52325,0.180832,   0.534654,0.2158,   0.517331,0.185991,   0.135544,0.039428,   0.2441,0.051292,   0.109254,0.094482,   0.135544,0.039428,   0.229164,0.01486,   0.2441,0.051292,   0.135544,0.039428,   0.046267,0.037845,   0.070532,0.006139,   0.454705,0.246699,   0.46452,0.238631,   0.462263,0.22187,   0.454705,0.246699,   0.467221,0.242035,   0.46452,0.238631,   0.454705,0.246699,   0.443154,0.23887,   0.441533,0.291149,   0.441533,0.291149,   0.471154,0.253063,   0.454705,0.246699,   0.441533,0.291149,   0.443154,0.23887,   0.432926,0.294799,   0.441533,0.291149,   0.472818,0.295409,   0.471154,0.253063,   0.441533,0.291149,   0.46882,0.324498,   0.472818,0.295409,   0.471154,0.253063,   0.467221,0.242035,   0.454705,0.246699,   0.471154,0.253063,   0.472818,0.295409,   0.485443,0.261859,   0.485443,0.261859,   0.482164,0.234032,   0.471154,0.253063,   0.485443,0.261859,   0.501715,0.239439,   0.482164,0.234032,   0.485443,0.261859,   0.499041,0.272254,   0.510431,0.262939,   0.109254,0.094482,   0.046267,0.037845,   0.135544,0.039428,   0.109254,0.094482,   0.020867,0.090074,   0.046267,0.037845,   0.109254,0.094482,   0.056483,0.113005,   0.020867,0.090074,   0.109254,0.094482,   0.102179,0.173903,   0.083833,0.121737,   0.2441,0.051292,   0.328689,0.007321,   0.333562,0.02429,   0.2441,0.051292,   0.269807,0.122429,   0.109254,0.094482,   0.229164,0.01486,   0.328689,0.007321,   0.2441,0.051292,   0.39126,0.246155,   0.361471,0.100203,   0.433698,0.153513,   0.39126,0.246155,   0.282494,0.159876,   0.361471,0.100203,   0.333562,0.02429,   0.354515,0.084197,   0.2441,0.051292,   0.328689,0.007321,   0.395216,0.00627,   0.333562,0.02429,   0.433698,0.153513,   0.411946,0.061948,   0.455921,0.089119,   0.433698,0.153513,   0.361471,0.100203,   0.411946,0.061948,   0.813758,0.189015,   0.760683,0.221396,   0.808285,0.143947,   0.813758,0.189015,   0.803982,0.244361,   0.760683,0.221396,   0.760683,0.221396,   0.699601,0.262747,   0.679501,0.188379,   0.760683,0.221396,   0.74706,0.306639,   0.699601,0.262747,   0.760683,0.221396,   0.78051,0.262664,   0.74706,0.306639,   0.760683,0.221396,   0.803982,0.244361,   0.78051,0.262664,   0.957354,0.21896,   0.896866,0.188001,   0.897591,0.144656,   0.957354,0.21896,   0.907715,0.252479,   0.896866,0.188001,   0.896866,0.188001,   0.832552,0.234676,   0.813758,0.189015,   0.896866,0.188001,   0.907715,0.252479,   0.87717,0.238396,   0.940278,0.27911,   0.907715,0.252479,   0.957354,0.21896,   0.940278,0.27911,   0.898911,0.265308,   0.907715,0.252479,   0.940278,0.27911,   0.924678,0.295114,   0.898911,0.265308,   0.87717,0.238396,   0.832552,0.234676,   0.896866,0.188001,   0.87717,0.238396,   0.872927,0.253021,   0.832552,0.234676,   0.832552,0.234676,   0.803982,0.244361,   0.813758,0.189015,   0.832552,0.234676,   0.832953,0.249176,   0.803982,0.244361,   0.832552,0.234676,   0.872927,0.253021,   0.832953,0.249176,   0.78051,0.262664,   0.766151,0.320006,   0.74706,0.306639,   0.907715,0.252479,   0.898911,0.265308,   0.87717,0.238396,   0.803982,0.244361,   0.80995,0.256477,   0.78051,0.262664,   0.803982,0.244361,   0.832953,0.249176,   0.80995,0.256477,   0.697806,0.97193,   0.66361,0.92367,   0.705683,0.93425,   0.80995,0.256477,   0.791788,0.272175,   0.78051,0.262664,   0.80995,0.256477,   0.829597,0.291772,   0.791788,0.272175,   0.898911,0.265308,   0.872927,0.253021,   0.87717,0.238396,   0.898911,0.265308,   0.882297,0.284235,   0.872927,0.253021,   0.832953,0.249176,   0.829597,0.291772,   0.80995,0.256477,   0.791788,0.272175,   0.766151,0.320006,   0.78051,0.262664,   0.791788,0.272175,   0.793448,0.298779,   0.766151,0.320006,   0.872927,0.253021,   0.851447,0.263599,   0.832953,0.249176,   0.872927,0.253021,   0.865727,0.262754,   0.851447,0.263599,   0.872927,0.253021,   0.882297,0.284235,   0.865727,0.262754,   0.924678,0.295114,   0.882297,0.284235,   0.898911,0.265308,   0.924678,0.295114,   0.906343,0.303733,   0.882297,0.284235,   0.766151,0.320006,   0.793448,0.298779,   0.786136,0.312218,   0.447676,0.215559,   0.443154,0.23887,   0.462263,0.22187,   0.447676,0.215559,   0.434776,0.232484,   0.443154,0.23887,   0.447676,0.215559,   0.443463,0.169879,   0.434776,0.232484,   0.447676,0.215559,   0.450879,0.189897,   0.443463,0.169879,   0.462263,0.22187,   0.471734,0.209806,   0.447676,0.215559,   0.462263,0.22187,   0.472332,0.229352,   0.478439,0.222513,   0.462263,0.22187,   0.443154,0.23887,   0.454705,0.246699,   0.478439,0.222513,   0.471734,0.209806,   0.462263,0.22187,   0.482164,0.234032,   0.470952,0.242281,   0.471154,0.253063,   0.482164,0.234032,   0.474002,0.23214,   0.474647,0.235935,   0.478439,0.222513,   0.487812,0.223993,   0.489314,0.213248,   0.523272,0.272322,   0.525814,0.258488,   0.510431,0.262939,   0.083833,0.121737,   0.056483,0.113005,   0.109254,0.094482,   0.523272,0.272322,   0.542188,0.241035,   0.525814,0.258488,   0.523272,0.272322,   0.556157,0.237438,   0.542188,0.241035,   0.489314,0.213248,   0.471734,0.209806,   0.478439,0.222513,   0.489314,0.213248,   0.497227,0.221501,   0.499096,0.216908,   0.489314,0.213248,   0.4727,0.198869,   0.471734,0.209806,   0.489314,0.213248,   0.495486,0.199903,   0.4727,0.198869,   0.471734,0.209806,   0.450879,0.189897,   0.447676,0.215559,   0.471734,0.209806,   0.4727,0.198869,   0.450879,0.189897,   0.510431,0.262939,   0.517824,0.253433,   0.510973,0.246935,   0.510431,0.262939,   0.501715,0.239439,   0.485443,0.261859,   0.510431,0.262939,   0.499041,0.272254,   0.523272,0.272322,   0.525814,0.258488,   0.517824,0.253433,   0.510431,0.262939,   0.525814,0.258488,   0.537535,0.232723,   0.517824,0.253433,   0.525814,0.258488,   0.542188,0.241035,   0.537535,0.232723,   0.510973,0.246935,   0.501715,0.239439,   0.510431,0.262939,   0.510973,0.246935,   0.522075,0.220624,   0.501715,0.239439,   0.510973,0.246935,   0.528807,0.227595,   0.522075,0.220624,   0.517824,0.253433,   0.528807,0.227595,   0.510973,0.246935,   0.46452,0.238631,   0.466981,0.230493,   0.462263,0.22187,   0.461451,0.17813,   0.468469,0.172249,   0.465934,0.165956,   0.461451,0.17813,   0.46921,0.178487,   0.467631,0.176064,   0.461451,0.17813,   0.466877,0.184331,   0.46921,0.178487,   0.466981,0.230493,   0.472332,0.229352,   0.462263,0.22187,   0.474647,0.235935,   0.470952,0.242281,   0.482164,0.234032,   0.47895,0.171676,   0.471911,0.177951,   0.474323,0.184388,   0.47895,0.171676,   0.471189,0.171608,   0.472793,0.17392,   0.47895,0.171676,   0.473521,0.165783,   0.471189,0.171608,   0.470952,0.242281,   0.467221,0.242035,   0.471154,0.253063,   0.467631,0.176064,   0.468469,0.172249,   0.461451,0.17813,   0.467631,0.176064,   0.471189,0.171608,   0.468469,0.172249,   0.467631,0.176064,   0.46921,0.178487,   0.472793,0.17392,   0.468469,0.172249,   0.471189,0.171608,   0.465934,0.165956,   0.472793,0.17392,   0.471911,0.177951,   0.47895,0.171676,   0.472793,0.17392,   0.471189,0.171608,   0.467631,0.176064,   0.472793,0.17392,   0.46921,0.178487,   0.471911,0.177951,   0.471911,0.177951,   0.46921,0.178487,   0.474323,0.184388,   0.471189,0.171608,   0.473521,0.165783,   0.465934,0.165956,   0.46921,0.178487,   0.466877,0.184331,   0.474323,0.184388,   0.499096,0.216908,   0.495486,0.199903,   0.489314,0.213248,   0.487812,0.223993,   0.497227,0.221501,   0.489314,0.213248,   0.501715,0.239439,   0.510749,0.211823,   0.497953,0.222083,   0.497953,0.222083,   0.506195,0.211116,   0.499096,0.216908,   0.565697,0.112333,   0.565073,0.140956,   0.547255,0.13087,   0.565697,0.112333,   0.612457,0.11041,   0.565073,0.140956,   0.511765,0.079488,   0.497729,0.095022,   0.503631,0.08026,   0.511765,0.079488,   0.507479,0.102001,   0.497729,0.095022,   0.511765,0.079488,   0.540386,0.092496,   0.507479,0.102001,   0.511765,0.079488,   0.54694,0.05581,   0.540386,0.092496,   0.443154,0.23887,   0.432926,0.238482,   0.432926,0.294799,   0.526655,0.031921,   0.54694,0.05581,   0.511765,0.079488,   0.526655,0.031921,   0.569474,0.007328,   0.54694,0.05581,   0.547255,0.13087,   0.531534,0.165599,   0.503642,0.129676,   0.547255,0.13087,   0.540386,0.092496,   0.565697,0.112333,   0.565073,0.140956,   0.531534,0.165599,   0.547255,0.13087,   0.565073,0.140956,   0.59779,0.157153,   0.531534,0.165599,   0.565073,0.140956,   0.612457,0.11041,   0.59779,0.157153,   0.488988,0.140271,   0.531534,0.165599,   0.52325,0.180832,   0.488988,0.140271,   0.497729,0.095022,   0.503642,0.129676,   0.488988,0.140271,   0.481876,0.111985,   0.497729,0.095022,   0.503642,0.129676,   0.531534,0.165599,   0.488988,0.140271,   0.503642,0.129676,   0.507479,0.102001,   0.547255,0.13087,   0.531534,0.165599,   0.540133,0.212749,   0.52325,0.180832,   0.531534,0.165599,   0.563769,0.218347,   0.540133,0.212749,   0.531534,0.165599,   0.59779,0.157153,   0.563769,0.218347,   0.497729,0.095022,   0.507479,0.102001,   0.503642,0.129676,   0.497729,0.095022,   0.481876,0.111985,   0.498678,0.081409,   0.507479,0.102001,   0.540386,0.092496,   0.547255,0.13087,   0.540386,0.092496,   0.564169,0.093297,   0.565697,0.112333,   0.540386,0.092496,   0.54694,0.05581,   0.564169,0.093297,   0.564169,0.093297,   0.612457,0.11041,   0.565697,0.112333,   0.54694,0.05581,   0.569474,0.007328,   0.582086,0.037976,   0.54694,0.05581,   0.602778,0.083706,   0.564169,0.093297,   0.472818,0.295409,   0.46882,0.324498,   0.504443,0.329853,   0.472818,0.295409,   0.499041,0.272254,   0.485443,0.261859,   0.395216,0.00627,   0.397064,0.016717,   0.333562,0.02429,   0.395216,0.00627,   0.463428,0.018434,   0.397064,0.016717,   0.397064,0.016717,   0.407871,0.052659,   0.333562,0.02429,   0.397064,0.016717,   0.463428,0.018434,   0.407871,0.052659,   0.918647,0.326933,   0.947684,0.406919,   0.929538,0.408809,   0.918647,0.326933,   0.915163,0.312139,   0.939999,0.329352,   0.918647,0.326933,   0.9208252,0.3433082,   0.907986,0.3475956,   0.904356,0.331005,   0.915163,0.312139,   0.918647,0.326933,   0.886397,0.430437,   0.858074,0.399042,   0.897734,0.424584,   0.886397,0.430437,   0.893197,0.45668,   0.878243,0.431704,   0.886397,0.430437,   0.899799,0.456066,   0.893197,0.45668,   0.922506,0.413958,   0.909802,0.419117,   0.88223,0.341903,   0.922506,0.413958,   0.93291,0.440141,   0.909802,0.419117,   0.922506,0.413958,   0.907986,0.3475956,   0.9208252,0.3433082,   0.929538,0.408809,   0.936304,0.4368,   0.922506,0.413958,   0.878243,0.431704,   0.858074,0.399042,   0.886397,0.430437,   0.878243,0.431704,   0.893197,0.45668,   0.865453,0.445571,   0.878243,0.431704,   0.853025,0.415047,   0.858074,0.399042,   0.862041,0.349058,   0.867907,0.332355,   0.88223,0.341903,   0.958514,0.329857,   0.965829,0.404151,   0.939999,0.329352,   0.797972,0.367395,   0.811739,0.396842,   0.765431,0.427273,   0.797972,0.367395,   0.818909,0.360997,   0.811739,0.396842,   0.797972,0.367395,   0.816489,0.344658,   0.818909,0.360997,   0.797972,0.367395,   0.783541,0.359685,   0.816489,0.344658,   0.939999,0.329352,   0.947684,0.406919,   0.918647,0.326933,   0.939999,0.329352,   0.965829,0.404151,   0.947684,0.406919,   0.939999,0.329352,   0.950401,0.31691,   0.958514,0.329857,   0.939999,0.329352,   0.915163,0.312139,   0.950401,0.31691,   0.88223,0.341903,   0.897734,0.424584,   0.862041,0.349058,   0.88223,0.341903,   0.909802,0.419117,   0.897734,0.424584,   0.88223,0.341903,   0.902297,0.314408,   0.904356,0.331005,   0.897734,0.424584,   0.858074,0.399042,   0.862041,0.349058,   0.897734,0.424584,   0.910939,0.450268,   0.886397,0.430437,   0.909802,0.419117,   0.921469,0.445317,   0.897734,0.424584,   0.947684,0.406919,   0.936304,0.4368,   0.929538,0.408809,   0.965829,0.404151,   0.952963,0.434202,   0.947684,0.406919,   0.865453,0.445571,   0.853025,0.415047,   0.878243,0.431704,   0.811739,0.396842,   0.818909,0.360997,   0.828331,0.399863,   0.811739,0.396842,   0.794126,0.416689,   0.765431,0.427273,   0.858074,0.399042,   0.839708,0.354437,   0.862041,0.349058,   0.858074,0.399042,   0.853025,0.415047,   0.841467,0.402667,   0.828331,0.399863,   0.839708,0.354437,   0.841467,0.402667,   0.828331,0.399863,   0.818909,0.360997,   0.839708,0.354437,   0.828331,0.399863,   0.821891,0.412361,   0.811739,0.396842,   0.841467,0.402667,   0.839708,0.354437,   0.858074,0.399042,   0.841467,0.402667,   0.83243,0.414334,   0.828331,0.399863,   0.841467,0.402667,   0.853025,0.415047,   0.839583,0.42282,   0.839708,0.354437,   0.831242,0.339277,   0.862041,0.349058,   0.818909,0.360997,   0.816489,0.344658,   0.839708,0.354437,   0.827376,0.426744,   0.839583,0.42282,   0.830874,0.431761,   0.827376,0.426744,   0.83243,0.414334,   0.839583,0.42282,   0.827376,0.426744,   0.822778,0.430757,   0.822225,0.424901,   0.814848,0.433907,   0.813555,0.418242,   0.818783,0.426149,   0.830874,0.431761,   0.822778,0.430757,   0.827376,0.426744,   0.822225,0.424901,   0.83243,0.414334,   0.827376,0.426744,   0.822225,0.424901,   0.821891,0.412361,   0.83243,0.414334,   0.822225,0.424901,   0.813555,0.418242,   0.821891,0.412361,   0.822225,0.424901,   0.822778,0.430757,   0.818783,0.426149,   0.818783,0.426149,   0.813555,0.418242,   0.822225,0.424901,   0.818783,0.426149,   0.822778,0.430757,   0.814848,0.433907,   0.839583,0.42282,   0.83243,0.414334,   0.841467,0.402667,   0.805074,0.426772,   0.813555,0.418242,   0.814848,0.433907,   0.805074,0.426772,   0.794126,0.416689,   0.813555,0.418242,   0.83243,0.414334,   0.821891,0.412361,   0.828331,0.399863,   0.821891,0.412361,   0.813555,0.418242,   0.811739,0.396842,   0.813555,0.418242,   0.794126,0.416689,   0.811739,0.396842,   0.893197,0.45668,   0.880141,0.468254,   0.865453,0.445571,   0.893197,0.45668,   0.901134,0.467276,   0.880141,0.468254,   0.97096,0.431379,   0.952963,0.434202,   0.965829,0.404151,   0.97096,0.431379,   0.973265,0.44587,   0.952963,0.434202,   0.952963,0.434202,   0.936304,0.4368,   0.947684,0.406919,   0.952963,0.434202,   0.939464,0.449606,   0.936304,0.4368,   0.952963,0.434202,   0.954864,0.448282,   0.939464,0.449606,   0.952963,0.434202,   0.973265,0.44587,   0.954864,0.448282,   0.936304,0.4368,   0.93291,0.440141,   0.922506,0.413958,   0.936304,0.4368,   0.939464,0.449606,   0.93291,0.440141,   0.93291,0.440141,   0.921469,0.445317,   0.909802,0.419117,   0.93291,0.440141,   0.936661,0.452705,   0.921469,0.445317,   0.921469,0.445317,   0.910939,0.450268,   0.897734,0.424584,   0.921469,0.445317,   0.927761,0.459064,   0.910939,0.450268,   0.910939,0.450268,   0.899799,0.456066,   0.886397,0.430437,   0.910939,0.450268,   0.90692,0.466975,   0.899799,0.456066,   0.910939,0.450268,   0.917177,0.464146,   0.90692,0.466975,   0.910939,0.450268,   0.927761,0.459064,   0.917177,0.464146,   0.899799,0.456066,   0.901134,0.467276,   0.893197,0.45668,   0.899799,0.456066,   0.90692,0.466975,   0.901134,0.467276,   0.939464,0.449606,   0.936661,0.452705,   0.93291,0.440141,   0.939464,0.449606,   0.945136,0.46285,   0.936661,0.452705,   0.936661,0.452705,   0.927761,0.459064,   0.921469,0.445317,   0.936661,0.452705,   0.939942,0.462946,   0.927761,0.459064,   0.901134,0.467276,   0.890365,0.479613,   0.880141,0.468254,   0.901134,0.467276,   0.908671,0.480349,   0.890365,0.479613,   0.90692,0.466975,   0.908671,0.480349,   0.901134,0.467276,   0.90692,0.466975,   0.912471,0.475591,   0.908671,0.480349,   0.917177,0.464146,   0.912471,0.475591,   0.90692,0.466975,   0.927761,0.459064,   0.932644,0.468099,   0.917177,0.464146,   0.954864,0.448282,   0.945136,0.46285,   0.939464,0.449606,   0.973265,0.44587,   0.974392,0.460852,   0.954864,0.448282,   0.908671,0.480349,   0.901713,0.490842,   0.890365,0.479613,   0.908671,0.480349,   0.912471,0.475591,   0.921769,0.487782,   0.974392,0.460852,   0.957303,0.463029,   0.954864,0.448282,   0.921769,0.487782,   0.920762,0.473761,   0.943349,0.479048,   0.921769,0.487782,   0.912471,0.475591,   0.920762,0.473761,   0.957303,0.463029,   0.945136,0.46285,   0.954864,0.448282,   0.943349,0.479048,   0.939942,0.462946,   0.945136,0.46285,   0.943349,0.479048,   0.932644,0.468099,   0.939942,0.462946,   0.943349,0.479048,   0.920762,0.473761,   0.932644,0.468099,   0.945136,0.46285,   0.939942,0.462946,   0.936661,0.452705,   0.939942,0.462946,   0.932644,0.468099,   0.927761,0.459064,   0.932644,0.468099,   0.920762,0.473761,   0.917177,0.464146,   0.920762,0.473761,   0.912471,0.475591,   0.917177,0.464146,   0.816489,0.344658,   0.831242,0.339277,   0.839708,0.354437,   0.851447,0.263599,   0.829597,0.291772,   0.832953,0.249176,   0.831242,0.339277,   0.867907,0.332355,   0.862041,0.349058,   0.829597,0.291772,   0.793448,0.298779,   0.791788,0.272175,   0.867907,0.332355,   0.902297,0.314408,   0.88223,0.341903,   0.902297,0.314408,   0.915163,0.312139,   0.904356,0.331005,   0.407871,0.052659,   0.354515,0.084197,   0.333562,0.02429,   0.407871,0.052659,   0.463428,0.018434,   0.411946,0.061948,   0.411946,0.061948,   0.354515,0.084197,   0.407871,0.052659,   0.411946,0.061948,   0.463428,0.018434,   0.455921,0.089119,   0.075002,0.239425,   0.087071,0.19858,   0.139641,0.178015,   0.472818,0.295409,   0.504443,0.329853,   0.46882,0.324498,   0.472818,0.295409,   0.485443,0.261859,   0.499041,0.272254,   0.472818,0.295409,   0.471154,0.253063,   0.485443,0.261859,   0.472818,0.295409,   0.441533,0.291149,   0.471154,0.253063,   0.582086,0.037976,   0.602778,0.083706,   0.54694,0.05581,   0.54694,0.05581,   0.540386,0.092496,   0.564169,0.093297,   0.54694,0.05581,   0.511765,0.079488,   0.540386,0.092496,   0.526655,0.031921,   0.511765,0.079488,   0.54694,0.05581,   0.361471,0.100203,   0.354515,0.084197,   0.411946,0.061948,   0.361471,0.100203,   0.269807,0.122429,   0.354515,0.084197,   0.361471,0.100203,   0.282494,0.159876,   0.269807,0.122429,   0.354515,0.084197,   0.269807,0.122429,   0.2441,0.051292,   0.269807,0.122429,   0.139641,0.178015,   0.109254,0.094482,   0.269807,0.122429,   0.195553,0.202588,   0.139641,0.178015,   0.139641,0.178015,   0.128783,0.262467,   0.075002,0.239425,   0.139641,0.178015,   0.102179,0.173903,   0.109254,0.094482,   0.139641,0.178015,   0.195553,0.202588,   0.128783,0.262467,   0.540133,0.212749,   0.534654,0.2158,   0.52325,0.180832,   0.52325,0.180832,   0.531534,0.165599,   0.488988,0.140271,   0.52325,0.180832,   0.486223,0.161684,   0.517331,0.185991,   0.063737,0.320971,   0.422372,0.315946,   0.451622,0.446715,   0.125023,0.594963,   0.475037,0.544954,   0.451622,0.446715,   0.125023,0.594963,   0.236033,0.645849,   0.475037,0.544954,   0.097058,0.90907,   0.195808,0.996522,   0.158868,0.83847,   0.097058,0.90907,   0.097751,0.78839,   0.001952,0.833096,   0.422372,0.315946,   0.448746,0.357125,   0.457939,0.398224,   0.447676,0.215559,   0.443154,0.23887,   0.434776,0.232484,   0.447676,0.215559,   0.462263,0.22187,   0.443154,0.23887,   0.471734,0.209806,   0.462263,0.22187,   0.447676,0.215559,   0.537535,0.232723,   0.528807,0.227595,   0.517824,0.253433,   0.517824,0.253433,   0.510431,0.262939,   0.510973,0.246935,   0.525814,0.258488,   0.510431,0.262939,   0.517824,0.253433,   0.525814,0.258488,   0.523272,0.272322,   0.510431,0.262939,   0.522075,0.220624,   0.510749,0.211823,   0.501715,0.239439,   0.487812,0.223993,   0.489314,0.213248,   0.497227,0.221501,   0.487812,0.223993,   0.478439,0.222513,   0.489314,0.213248,   0.501715,0.239439,   0.485443,0.261859,   0.482164,0.234032,   0.816218,0.822246,   0.985358,0.752418,   0.820203,0.742307,   0.816218,0.822246,   0.654329,0.817364,   0.798014,0.934199,   0.798014,0.934199,   0.985358,0.837917,   0.816218,0.822246,   0.801934,0.560641,   0.659818,0.646009,   0.813471,0.62914,   0.801934,0.560641,   0.639912,0.566668,   0.659818,0.646009,   0.798014,0.934199,   0.654329,0.817364,   0.639452,0.910131,   0.798014,0.934199,   0.96259,0.987723,   0.985358,0.837917,   0.820203,0.742307,   0.983795,0.602548,   0.813471,0.62914,   0.820203,0.742307,   0.669819,0.738906,   0.816218,0.822246,   0.813471,0.62914,   0.983795,0.602548,   0.801934,0.560641,   0.813471,0.62914,   0.669819,0.738906,   0.820203,0.742307,   0.985358,0.837917,   0.985358,0.752418,   0.816218,0.822246,   0.475037,0.544954,   0.275522,0.733037,   0.508998,0.619936,   0.475037,0.544954,   0.469506,0.401201,   0.451622,0.446715,   0.632024,0.752693,   0.652416,0.797749,   0.559982,0.703643,   0.983795,0.602548,   0.964423,0.497747,   0.801934,0.560641,   0.985358,0.752418,   0.983795,0.602548,   0.820203,0.742307,   0.508998,0.619936,   0.559982,0.703643,   0.602563,0.723134,   0.659818,0.646009,   0.669819,0.738906,   0.813471,0.62914,   0.734996,0.961992,   0.694712,0.990588,   0.697806,0.97193,   0.772184,0.965605,   0.77528,0.990588,   0.734996,0.961992,   0.652728,0.960596,   0.66361,0.92367,   0.697806,0.97193,   0.659818,0.646009,   0.639912,0.566668,   0.801934,0.560641,   0.652728,0.960596,   0.697806,0.97193,   0.66361,0.92367,   0.652728,0.960596,   0.694712,0.990588,   0.697806,0.97193,   0.697806,0.97193,   0.705683,0.93425,   0.66361,0.92367,   0.697806,0.97193,   0.694712,0.990588,   0.734996,0.961992,   0.669819,0.738906,   0.654329,0.817364,   0.816218,0.822246,   0.734996,0.961992,   0.77528,0.990588,   0.772184,0.965605,   0.734996,0.961992,   0.694712,0.990588,   0.77528,0.990588,   0.772184,0.965605,   0.77528,0.990588,   0.814253,0.95501,   0.77528,0.990588,   0.823359,0.97848,   0.814253,0.95501,   0.623546,0.549776,   0.800276,0.549776,   0.623546,0.441019,   0.915163,0.312139,   0.939999,0.329352,   0.950401,0.31691,   0.915163,0.312139,   0.918647,0.326933,   0.939999,0.329352,   0.793448,0.298779,   0.766151,0.320006,   0.786136,0.312218,   0.793448,0.298779,   0.791788,0.272175,   0.766151,0.320006,   0.902297,0.314408,   0.904356,0.331005,   0.915163,0.312139,   0.906343,0.303733,   0.924678,0.295114,   0.882297,0.284235,   0.867907,0.332355,   0.88223,0.341903,   0.902297,0.314408,   0.867907,0.332355,   0.862041,0.349058,   0.88223,0.341903,   0.882297,0.284235,   0.872927,0.253021,   0.865727,0.262754,   0.882297,0.284235,   0.898911,0.265308,   0.872927,0.253021,   0.783541,0.359685,   0.797972,0.367395,   0.816489,0.344658,   0.829597,0.291772,   0.791788,0.272175,   0.793448,0.298779,   0.829597,0.291772,   0.80995,0.256477,   0.791788,0.272175,   0.831242,0.339277,   0.862041,0.349058,   0.867907,0.332355,   0.865727,0.262754,   0.872927,0.253021,   0.851447,0.263599,   0.816489,0.344658,   0.839708,0.354437,   0.831242,0.339277,   0.816489,0.344658,   0.797972,0.367395,   0.818909,0.360997,   0.851447,0.263599,   0.832953,0.249176,   0.829597,0.291772,   0.794126,0.416689,   0.805074,0.426772,   0.813555,0.418242,   0.853025,0.415047,   0.841467,0.402667,   0.839583,0.42282,   0.853025,0.415047,   0.858074,0.399042,   0.841467,0.402667,   0.853025,0.415047,   0.878243,0.431704,   0.858074,0.399042,   0.912471,0.475591,   0.921769,0.487782,   0.920762,0.473761,   0.912471,0.475591,   0.908671,0.480349,   0.921769,0.487782,   0.912471,0.475591,   0.90692,0.466975,   0.908671,0.480349,   0.920762,0.473761,   0.943349,0.479048,   0.932644,0.468099,   0.920762,0.473761,   0.921769,0.487782,   0.943349,0.479048,   0.920762,0.473761,   0.917177,0.464146,   0.912471,0.475591,   0.932644,0.468099,   0.943349,0.479048,   0.939942,0.462946,   0.932644,0.468099,   0.917177,0.464146,   0.920762,0.473761,   0.939942,0.462946,   0.943349,0.479048,   0.945136,0.46285,   0.939942,0.462946,   0.927761,0.459064,   0.932644,0.468099,   0.939942,0.462946,   0.936661,0.452705,   0.927761,0.459064,   0.945136,0.46285,   0.936661,0.452705,   0.939942,0.462946,   0.945136,0.46285,   0.939464,0.449606,   0.936661,0.452705,   0.957303,0.463029,   0.954864,0.448282,   0.945136,0.46285,   0.974392,0.460852,   0.954864,0.448282,   0.957303,0.463029,   0.908671,0.480349,   0.890365,0.479613,   0.901713,0.490842,   0.908671,0.480349,   0.901134,0.467276,   0.890365,0.479613,   0.973265,0.44587,   0.954864,0.448282,   0.974392,0.460852,   0.973265,0.44587,   0.952963,0.434202,   0.954864,0.448282,   0.973265,0.44587,   0.97096,0.431379,   0.952963,0.434202,   0.954864,0.448282,   0.939464,0.449606,   0.945136,0.46285,   0.954864,0.448282,   0.952963,0.434202,   0.939464,0.449606,   0.927761,0.459064,   0.917177,0.464146,   0.932644,0.468099,   0.927761,0.459064,   0.910939,0.450268,   0.917177,0.464146,   0.927761,0.459064,   0.921469,0.445317,   0.910939,0.450268,   0.917177,0.464146,   0.90692,0.466975,   0.912471,0.475591,   0.917177,0.464146,   0.910939,0.450268,   0.90692,0.466975,   0.90692,0.466975,   0.901134,0.467276,   0.908671,0.480349,   0.90692,0.466975,   0.899799,0.456066,   0.901134,0.467276,   0.90692,0.466975,   0.910939,0.450268,   0.899799,0.456066,   0.901134,0.467276,   0.880141,0.468254,   0.890365,0.479613,   0.901134,0.467276,   0.893197,0.45668,   0.880141,0.468254,   0.936661,0.452705,   0.921469,0.445317,   0.927761,0.459064,   0.936661,0.452705,   0.93291,0.440141,   0.921469,0.445317,   0.939464,0.449606,   0.93291,0.440141,   0.936661,0.452705,   0.939464,0.449606,   0.936304,0.4368,   0.93291,0.440141,   0.939464,0.449606,   0.952963,0.434202,   0.936304,0.4368,   0.899799,0.456066,   0.893197,0.45668,   0.901134,0.467276,   0.899799,0.456066,   0.886397,0.430437,   0.893197,0.45668,   0.910939,0.450268,   0.886397,0.430437,   0.899799,0.456066,   0.921469,0.445317,   0.897734,0.424584,   0.910939,0.450268,   0.93291,0.440141,   0.909802,0.419117,   0.921469,0.445317,   0.93291,0.440141,   0.922506,0.413958,   0.909802,0.419117,   0.936304,0.4368,   0.922506,0.413958,   0.93291,0.440141,   0.952963,0.434202,   0.947684,0.406919,   0.936304,0.4368,   0.97096,0.431379,   0.965829,0.404151,   0.952963,0.434202,   0.893197,0.45668,   0.865453,0.445571,   0.880141,0.468254,   0.893197,0.45668,   0.878243,0.431704,   0.865453,0.445571,   0.893197,0.45668,   0.886397,0.430437,   0.878243,0.431704,   0.822778,0.430757,   0.822225,0.424901,   0.818783,0.426149,   0.822778,0.430757,   0.827376,0.426744,   0.822225,0.424901,   0.813555,0.418242,   0.822225,0.424901,   0.821891,0.412361,   0.813555,0.418242,   0.814848,0.433907,   0.818783,0.426149,   0.813555,0.418242,   0.811739,0.396842,   0.794126,0.416689,   0.821891,0.412361,   0.822225,0.424901,   0.83243,0.414334,   0.821891,0.412361,   0.811739,0.396842,   0.813555,0.418242,   0.83243,0.414334,   0.827376,0.426744,   0.839583,0.42282,   0.83243,0.414334,   0.828331,0.399863,   0.821891,0.412361,   0.805074,0.426772,   0.814848,0.433907,   0.813555,0.418242,   0.839583,0.42282,   0.827376,0.426744,   0.830874,0.431761,   0.839583,0.42282,   0.841467,0.402667,   0.83243,0.414334,   0.818783,0.426149,   0.822225,0.424901,   0.813555,0.418242,   0.818783,0.426149,   0.814848,0.433907,   0.822778,0.430757,   0.822225,0.424901,   0.827376,0.426744,   0.83243,0.414334,   0.830874,0.431761,   0.827376,0.426744,   0.822778,0.430757,   0.818909,0.360997,   0.839708,0.354437,   0.816489,0.344658,   0.818909,0.360997,   0.828331,0.399863,   0.839708,0.354437,   0.818909,0.360997,   0.811739,0.396842,   0.828331,0.399863,   0.818909,0.360997,   0.797972,0.367395,   0.811739,0.396842,   0.839708,0.354437,   0.828331,0.399863,   0.841467,0.402667,   0.839708,0.354437,   0.862041,0.349058,   0.831242,0.339277,   0.841467,0.402667,   0.828331,0.399863,   0.83243,0.414334,   0.841467,0.402667,   0.858074,0.399042,   0.839708,0.354437,   0.828331,0.399863,   0.811739,0.396842,   0.821891,0.412361,   0.858074,0.399042,   0.862041,0.349058,   0.839708,0.354437,   0.858074,0.399042,   0.886397,0.430437,   0.897734,0.424584,   0.811739,0.396842,   0.765431,0.427273,   0.794126,0.416689,   0.811739,0.396842,   0.797972,0.367395,   0.765431,0.427273,   0.965829,0.404151,   0.947684,0.406919,   0.952963,0.434202,   0.965829,0.404151,   0.939999,0.329352,   0.947684,0.406919,   0.965829,0.404151,   0.958514,0.329857,   0.939999,0.329352,   0.865453,0.445571,   0.878243,0.431704,   0.853025,0.415047,   0.947684,0.406919,   0.929538,0.408809,   0.936304,0.4368,   0.947684,0.406919,   0.918647,0.326933,   0.9208252,0.3433082,   0.909802,0.419117,   0.897734,0.424584,   0.921469,0.445317,   0.909802,0.419117,   0.88223,0.341903,   0.897734,0.424584,   0.909802,0.419117,   0.922506,0.413958,   0.88223,0.341903,   0.897734,0.424584,   0.862041,0.349058,   0.858074,0.399042,   0.897734,0.424584,   0.886397,0.430437,   0.910939,0.450268,   0.88223,0.341903,   0.862041,0.349058,   0.897734,0.424584,   0.88223,0.341903,   0.904356,0.331005,   0.902297,0.314408,   0.939999,0.329352,   0.958514,0.329857,   0.950401,0.31691,   0.939999,0.329352,   0.918647,0.326933,   0.947684,0.406919,   0.878243,0.431704,   0.886397,0.430437,   0.858074,0.399042,   0.929538,0.408809,   0.922506,0.413958,   0.936304,0.4368,   0.929538,0.408809,   0.9208252,0.3433082,   0.907986,0.3475956,   0.922506,0.413958,   0.907986,0.3475956,   0.904356,0.331005,   0.904356,0.331005,   0.918647,0.326933,   0.915163,0.312139,   0.904356,0.331005,   0.907986,0.3475956,   0.9208252,0.3433082,   0.924678,0.295114,   0.898911,0.265308,   0.882297,0.284235,   0.924678,0.295114,   0.940278,0.27911,   0.898911,0.265308,   0.872927,0.253021,   0.832953,0.249176,   0.851447,0.263599,   0.872927,0.253021,   0.832552,0.234676,   0.832953,0.249176,   0.872927,0.253021,   0.87717,0.238396,   0.832552,0.234676,   0.791788,0.272175,   0.78051,0.262664,   0.766151,0.320006,   0.832953,0.249176,   0.80995,0.256477,   0.829597,0.291772,   0.832953,0.249176,   0.803982,0.244361,   0.80995,0.256477,   0.832953,0.249176,   0.832552,0.234676,   0.803982,0.244361,   0.898911,0.265308,   0.87717,0.238396,   0.872927,0.253021,   0.898911,0.265308,   0.940278,0.27911,   0.907715,0.252479,   0.80995,0.256477,   0.78051,0.262664,   0.791788,0.272175,   0.803982,0.244361,   0.78051,0.262664,   0.80995,0.256477,   0.803982,0.244361,   0.760683,0.221396,   0.78051,0.262664,   0.803982,0.244361,   0.813758,0.189015,   0.760683,0.221396,   0.907715,0.252479,   0.87717,0.238396,   0.898911,0.265308,   0.907715,0.252479,   0.896866,0.188001,   0.87717,0.238396,   0.907715,0.252479,   0.957354,0.21896,   0.896866,0.188001,   0.78051,0.262664,   0.74706,0.306639,   0.766151,0.320006,   0.78051,0.262664,   0.760683,0.221396,   0.74706,0.306639,   0.832552,0.234676,   0.813758,0.189015,   0.803982,0.244361,   0.87717,0.238396,   0.896866,0.188001,   0.832552,0.234676,   0.940278,0.27911,   0.957354,0.21896,   0.907715,0.252479,   0.74706,0.306639,   0.760683,0.221396,   0.699601,0.262747,   0.896866,0.188001,   0.813758,0.189015,   0.832552,0.234676,   0.896866,0.188001,   0.808285,0.143947,   0.813758,0.189015,   0.896866,0.188001,   0.897591,0.144656,   0.808285,0.143947,   0.957354,0.21896,   0.897591,0.144656,   0.896866,0.188001,   0.957354,0.21896,   0.987175,0.161027,   0.897591,0.144656,   0.760683,0.221396,   0.808285,0.143947,   0.723619,0.171849,   0.760683,0.221396,   0.679501,0.188379,   0.699601,0.262747,   0.813758,0.189015,   0.808285,0.143947,   0.760683,0.221396,   0.723619,0.171849,   0.679501,0.188379,   0.760683,0.221396,   0.723619,0.171849,   0.630466,0.053895,   0.679501,0.188379,   0.808285,0.143947,   0.725615,0.036217,   0.723619,0.171849,   0.808285,0.143947,   0.808988,0.029422,   0.725615,0.036217,   0.808285,0.143947,   0.895129,0.032726,   0.808988,0.029422,   0.897591,0.144656,   0.895129,0.032726,   0.808285,0.143947,   0.897591,0.144656,   0.956553,0.031526,   0.895129,0.032726,   0.987175,0.161027,   0.956553,0.031526,   0.897591,0.144656,   0.236033,0.645849,   0.275522,0.733037,   0.475037,0.544954,   0.725615,0.036217,   0.630466,0.053895,   0.723619,0.171849,   0.032484,0.733101,   0.081935,0.72282,   0.078629,0.717748,   0.032484,0.733101,   0.097751,0.78839,   0.081935,0.72282,   0.275522,0.733037,   0.362422,0.85694,   0.508998,0.619936,   0.275522,0.733037,   0.247076,0.845005,   0.362422,0.85694,   0.362422,0.85694,   0.559982,0.703643,   0.508998,0.619936,   0.282494,0.159876,   0.195553,0.202588,   0.269807,0.122429,   0.362422,0.85694,   0.247076,0.845005,   0.296671,0.90537,   0.158868,0.83847,   0.097751,0.78839,   0.097058,0.90907,   0.158868,0.83847,   0.17087,0.759872,   0.097751,0.78839,   0.158868,0.83847,   0.247076,0.845005,   0.17087,0.759872,   0.195808,0.996522,   0.234719,0.950468,   0.158868,0.83847,   0.110989,0.690951,   0.1158,0.698465,   0.161387,0.644271,   0.078629,0.717748,   0.081935,0.72282,   0.110989,0.690951,   0.081935,0.72282,   0.1158,0.698465,   0.110989,0.690951,   0.081935,0.72282,   0.097751,0.78839,   0.1158,0.698465,   0.1158,0.698465,   0.17087,0.759872,   0.161387,0.644271,   0.097751,0.78839,   0.17087,0.759872,   0.1158,0.698465,   0.17087,0.759872,   0.247076,0.845005,   0.275522,0.733037,   0.087071,0.19858,   0.102179,0.173903,   0.139641,0.178015,   0.499041,0.272254,   0.485443,0.261859,   0.510431,0.262939,   0.46882,0.324498,   0.441533,0.291149,   0.472818,0.295409,   0.481876,0.111985,   0.497729,0.095022,   0.498678,0.081409,   0.488988,0.140271,   0.497729,0.095022,   0.481876,0.111985,   0.488988,0.140271,   0.503642,0.129676,   0.497729,0.095022,   0.488988,0.140271,   0.486223,0.161684,   0.52325,0.180832,   0.443154,0.23887,   0.454705,0.246699,   0.441533,0.291149,   0.443154,0.23887,   0.432926,0.294799,   0.432926,0.238482,   0.510749,0.211823,   0.506195,0.211116,   0.497953,0.222083,   0.497227,0.221501,   0.489314,0.213248,   0.499096,0.216908,   0.506195,0.211116,   0.495486,0.199903,   0.499096,0.216908,   0.470952,0.242281,   0.474647,0.235935,   0.482164,0.234032,   0.510973,0.246935,   0.510431,0.262939,   0.501715,0.239439,   0.510431,0.262939,   0.523272,0.272322,   0.499041,0.272254,   0.510431,0.262939,   0.485443,0.261859,   0.501715,0.239439,   0.489314,0.213248,   0.478439,0.222513,   0.471734,0.209806,   0.478439,0.222513,   0.462263,0.22187,   0.471734,0.209806,   0.482164,0.234032,   0.471154,0.253063,   0.470952,0.242281,   0.478439,0.222513,   0.472332,0.229352,   0.462263,0.22187,   0.482164,0.234032,   0.474647,0.235935,   0.474002,0.23214,   0.462263,0.22187,   0.454705,0.246699,   0.443154,0.23887,   0.462263,0.22187,   0.46452,0.238631,   0.454705,0.246699,   0.485443,0.261859,   0.471154,0.253063,   0.482164,0.234032,   0.471154,0.253063,   0.467221,0.242035,   0.470952,0.242281,   0.441533,0.291149,   0.454705,0.246699,   0.471154,0.253063,   0.441533,0.291149,   0.432926,0.294799,   0.443154,0.23887,   0.454705,0.246699,   0.467221,0.242035,   0.471154,0.253063,   0.454705,0.246699,   0.46452,0.238631,   0.467221,0.242035,   0.466877,0.184331,   0.46921,0.178487,   0.474323,0.184388,   0.466877,0.184331,   0.461451,0.17813,   0.46921,0.178487,   0.473521,0.165783,   0.47895,0.171676,   0.471189,0.171608,   0.472332,0.229352,   0.466981,0.230493,   0.462263,0.22187,   0.46921,0.178487,   0.471911,0.177951,   0.474323,0.184388,   0.46921,0.178487,   0.472793,0.17392,   0.471911,0.177951,   0.46921,0.178487,   0.467631,0.176064,   0.472793,0.17392,   0.46921,0.178487,   0.461451,0.17813,   0.467631,0.176064,   0.471189,0.171608,   0.467631,0.176064,   0.468469,0.172249,   0.471189,0.171608,   0.47895,0.171676,   0.472793,0.17392,   0.471189,0.171608,   0.465934,0.165956,   0.473521,0.165783,   0.471911,0.177951,   0.47895,0.171676,   0.474323,0.184388,   0.472793,0.17392,   0.467631,0.176064,   0.471189,0.171608,   0.472793,0.17392,   0.47895,0.171676,   0.471911,0.177951,   0.468469,0.172249,   0.465934,0.165956,   0.471189,0.171608,   0.468469,0.172249,   0.461451,0.17813,   0.465934,0.165956,   0.467631,0.176064,   0.461451,0.17813,   0.468469,0.172249,   0.466981,0.230493,   0.46452,0.238631,   0.462263,0.22187,   0.602778,0.083706,   0.612457,0.11041,   0.564169,0.093297,   0.540386,0.092496,   0.511765,0.079488,   0.507479,0.102001,   0.540386,0.092496,   0.565697,0.112333,   0.564169,0.093297,   0.507479,0.102001,   0.547255,0.13087,   0.540386,0.092496,   0.507479,0.102001,   0.511765,0.079488,   0.497729,0.095022,   0.497729,0.095022,   0.503642,0.129676,   0.507479,0.102001,   0.497729,0.095022,   0.511765,0.079488,   0.503631,0.08026,   0.531534,0.165599,   0.503642,0.129676,   0.488988,0.140271,   0.531534,0.165599,   0.547255,0.13087,   0.503642,0.129676,   0.503642,0.129676,   0.547255,0.13087,   0.507479,0.102001,   0.565073,0.140956,   0.547255,0.13087,   0.531534,0.165599,   0.565073,0.140956,   0.565697,0.112333,   0.547255,0.13087,   0.547255,0.13087,   0.565697,0.112333,   0.540386,0.092496,   0.77528,0.990588,   0.694712,0.990588,   0.734996,0.961992,   0.623546,0.441019,   0.800276,0.549776,   0.800276,0.441019,   0.646629,0.978498,   0.694712,0.990588,   0.652728,0.960596,   0.16806,0.270577,   0.128783,0.262467,   0.195553,0.202588,   0.296671,0.90537,   0.247076,0.845005,   0.234719,0.950468,   0.234719,0.950468,   0.247076,0.845005,   0.158868,0.83847,   0.907986,0.3475956,   0.922506,0.413958,   0.88223,0.341903,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.00539878093344108,-0.999983547892128,0.00193832647025352,   -0.00539878093344108,-0.999983547892128,0.00193832647025352,   -0.00539878093344108,-0.999983547892128,0.00193832647025352,   -0.000565909540649183,-0.999982999890339,-0.00580341939814009,   -0.000565909540649183,-0.999982999890339,-0.00580341939814009,   -0.000565909540649183,-0.999982999890339,-0.00580341939814009,   -0.00930914391994223,0.0757501684560073,0.997083372551345,   -0.00930914391994223,0.0757501684560073,0.997083372551345,   -0.00930914391994223,0.0757501684560073,0.997083372551345,   0.0264605163962819,0.126691323063581,0.991589204122575,   0.0264605163962819,0.126691323063581,0.991589204122575,   0.0264605163962819,0.126691323063581,0.991589204122575,   0.98538614632649,0.170276526436198,0.00447740691153464,   0.98538614632649,0.170276526436198,0.00447740691153464,   0.98538614632649,0.170276526436198,0.00447740691153464,   0.98782445570502,0.155570882589354,-0.000738377579813884,   0.98782445570502,0.155570882589354,-0.000738377579813884,   0.98782445570502,0.155570882589354,-0.000738377579813884,   -0.0158025483360105,0.0946174151969655,-0.995388278114391,   -0.0158025483360105,0.0946174151969655,-0.995388278114391,   -0.0158025483360105,0.0946174151969655,-0.995388278114391,   -0.000358973072891137,0.115985843627925,-0.99325080176975,   -0.000358973072891137,0.115985843627925,-0.99325080176975,   -0.000358973072891137,0.115985843627925,-0.99325080176975,   -0.0104463841213401,0.132512918933439,-0.991126227770474,   -0.0104463841213401,0.132512918933439,-0.991126227770474,   -0.0104463841213401,0.132512918933439,-0.991126227770474,   -0.0326501111732109,0.112487390227292,0.993116587959455,   -0.0326501111732109,0.112487390227292,0.993116587959455,   -0.0326501111732109,0.112487390227292,0.993116587959455,   -0.991413252857854,0.120783458769953,0.0501110581147041,   -0.991413252857854,0.120783458769953,0.0501110581147041,   -0.991413252857854,0.120783458769953,0.0501110581147041,   -0.968683050576334,0.176339068230799,0.174807552873499,   -0.968683050576334,0.176339068230799,0.174807552873499,   -0.968683050576334,0.176339068230799,0.174807552873499,   -0.986822443607271,0.148723036969577,0.0637410626481931,   -0.986822443607271,0.148723036969577,0.0637410626481931,   -0.986822443607271,0.148723036969577,0.0637410626481931,   -0.0244552433353405,0.0129461304722143,0.999617096081898,   -0.0244552433353405,0.0129461304722143,0.999617096081898,   -0.0244552433353405,0.0129461304722143,0.999617096081898,   0.998680193228114,-0.051360139719832,0,   0.998680193228114,-0.051360139719832,0,   0.998680193228114,-0.051360139719832,0,   -0.00196860875858385,-0.179299100739599,0.983792639255614,   -0.00196860875858385,-0.179299100739599,0.983792639255614,   -0.00196860875858385,-0.179299100739599,0.983792639255614,   0.971478017053576,-0.0631650469213809,0.228562112409453,   0.971478017053576,-0.0631650469213809,0.228562112409453,   0.971478017053576,-0.0631650469213809,0.228562112409453,   0.0803150117772967,-0.170979792069278,0.981995626052967,   0.0803150117772967,-0.170979792069278,0.981995626052967,   0.0803150117772967,-0.170979792069278,0.981995626052967,   0.91648521499321,-0.0943123458564965,0.388793045356903,   0.91648521499321,-0.0943123458564965,0.388793045356903,   0.91648521499321,-0.0943123458564965,0.388793045356903,   -0.0438184899097798,-0.998860487051186,-0.0189120953332814,   -0.0438184899097798,-0.998860487051186,-0.0189120953332814,   -0.0438184899097798,-0.998860487051186,-0.0189120953332814,   0.98177874484059,-0.166387628107948,0.0917913579366109,   0.98177874484059,-0.166387628107948,0.0917913579366109,   0.98177874484059,-0.166387628107948,0.0917913579366109,   0.00398025156053138,-0.157203911200062,-0.987558144060854,   0.00398025156053138,-0.157203911200062,-0.987558144060854,   0.00398025156053138,-0.157203911200062,-0.987558144060854,   -0.148702840023209,-0.98861492446251,0.0229781744056823,   -0.148702840023209,-0.98861492446251,0.0229781744056823,   -0.148702840023209,-0.98861492446251,0.0229781744056823,   -0.00666682181144116,-0.999754345377484,0.0211377005791296,   -0.00666682181144116,-0.999754345377484,0.0211377005791296,   -0.00666682181144116,-0.999754345377484,0.0211377005791296,   -0.981719255042232,-0.164880642740942,0.0950877380562701,   -0.981719255042232,-0.164880642740942,0.0950877380562701,   -0.981719255042232,-0.164880642740942,0.0950877380562701,   0.00264021621922491,-0.999969690578211,-0.007324423747498,   0.00264021621922491,-0.999969690578211,-0.007324423747498,   0.00264021621922491,-0.999969690578211,-0.007324423747498,   -0.0385711054161506,-0.999254677498992,0.00153600890685966,   -0.0385711054161506,-0.999254677498992,0.00153600890685966,   -0.0385711054161506,-0.999254677498992,0.00153600890685966,   -0.9498167831703,-0.0794746051391828,0.302542336782794,   -0.9498167831703,-0.0794746051391828,0.302542336782794,   -0.9498167831703,-0.0794746051391828,0.302542336782794,   -0.900355362388246,-0.0655105426740217,0.430195990470953,   -0.900355362388246,-0.0655105426740217,0.430195990470953,   -0.900355362388246,-0.0655105426740217,0.430195990470953,   -0.00174678779010405,-0.141007211068217,0.990007027833227,   -0.00174678779010405,-0.141007211068217,0.990007027833227,   -0.00174678779010405,-0.141007211068217,0.990007027833227,   0.882095013149833,-0.055110261058208,0.467836773781511,   0.882095013149833,-0.055110261058208,0.467836773781511,   0.882095013149833,-0.055110261058208,0.467836773781511,   0.998053541852435,-0.0615724641821268,0.00989743655453408,   0.998053541852435,-0.0615724641821268,0.00989743655453408,   0.998053541852435,-0.0615724641821268,0.00989743655453408,   0.997392158365553,-0.0715712749627395,-0.00929704421373303,   0.997392158365553,-0.0715712749627395,-0.00929704421373303,   0.997392158365553,-0.0715712749627395,-0.00929704421373303,   -0.00643932291757591,-0.999883264496948,0.013856135799326,   -0.00643932291757591,-0.999883264496948,0.013856135799326,   -0.00643932291757591,-0.999883264496948,0.013856135799326,   0.907629784819283,-0.0914459171925456,0.409689904608005,   0.907629784819283,-0.0914459171925456,0.409689904608005,   0.907629784819283,-0.0914459171925456,0.409689904608005,   -0.0235375004520303,0.891969002929454,0.451483425925588,   -0.0235375004520303,0.891969002929454,0.451483425925588,   -0.0235375004520303,0.891969002929454,0.451483425925588,   -0.0223540268461942,0.540032593096086,0.841347191044028,   -0.0223540268461942,0.540032593096086,0.841347191044028,   -0.0223540268461942,0.540032593096086,0.841347191044028,   0.0167920057272381,0.5647613531127,0.825083415524738,   0.0167920057272381,0.5647613531127,0.825083415524738,   0.0167920057272381,0.5647613531127,0.825083415524738,   -0.995182703021197,0.0978527802067184,-0.00601838958862676,   -0.995182703021197,0.0978527802067184,-0.00601838958862676,   -0.995182703021197,0.0978527802067184,-0.00601838958862676,   -0.434769107896638,0.879491251015092,0.193574177530656,   -0.434769107896638,0.879491251015092,0.193574177530656,   -0.434769107896638,0.879491251015092,0.193574177530656,   0.581893530132008,0.813255916448432,0.00383848305073189,   0.581893530132008,0.813255916448432,0.00383848305073189,   0.581893530132008,0.813255916448432,0.00383848305073189,   0.418641553920587,0.887638149158595,0.191931668802366,   0.418641553920587,0.887638149158595,0.191931668802366,   0.418641553920587,0.887638149158595,0.191931668802366,   0.979765641925875,0.200116032148139,-0.00358616492411187,   0.979765641925875,0.200116032148139,-0.00358616492411187,   0.979765641925875,0.200116032148139,-0.00358616492411187,   -0.914348911731551,-0.0988030465711442,0.39268820405455,   -0.914348911731551,-0.0988030465711442,0.39268820405455,   -0.914348911731551,-0.0988030465711442,0.39268820405455,   -0.418576971762689,0.894704219006257,0.15587712854162,   -0.418576971762689,0.894704219006257,0.15587712854162,   -0.418576971762689,0.894704219006257,0.15587712854162,   -0.999874736857387,-0.0144999301013746,-0.00634528340000443,   -0.999874736857387,-0.0144999301013746,-0.00634528340000443,   -0.999874736857387,-0.0144999301013746,-0.00634528340000443,   -0.623713327654148,0.781652936455638,-0.000609784279650583,   -0.623713327654148,0.781652936455638,-0.000609784279650583,   -0.623713327654148,0.781652936455638,-0.000609784279650583,   0.994405560308995,0.105375056887929,0.00732659623696918,   0.994405560308995,0.105375056887929,0.00732659623696918,   0.994405560308995,0.105375056887929,0.00732659623696918,   -0.153645619309752,-0.988073984443021,-0.01014026300524,   -0.153645619309752,-0.988073984443021,-0.01014026300524,   -0.153645619309752,-0.988073984443021,-0.01014026300524,   -0.00826067676504196,-0.988667344847091,-0.149895438397527,   -0.00826067676504196,-0.988667344847091,-0.149895438397527,   -0.00826067676504196,-0.988667344847091,-0.149895438397527,   -0.0139603880604592,-0.174805041935468,0.984504090839211,   -0.0139603880604592,-0.174805041935468,0.984504090839211,   -0.0139603880604592,-0.174805041935468,0.984504090839211,   0.0157113327794867,-0.0870101866636373,-0.996083521316888,   0.0157113327794867,-0.0870101866636373,-0.996083521316888,   0.0157113327794867,-0.0870101866636373,-0.996083521316888,   0.914908146438352,-0.110706993490589,0.388184292795336,   0.914908146438352,-0.110706993490589,0.388184292795336,   0.914908146438352,-0.110706993490589,0.388184292795336,   0.00190503815998333,-0.999997193272246,0.00140864375857755,   0.00190503815998333,-0.999997193272246,0.00140864375857755,   0.00190503815998333,-0.999997193272246,0.00140864375857755,   -0.996253622572392,0.0575149812320917,0.0645813165339513,   -0.996253622572392,0.0575149812320917,0.0645813165339513,   -0.996253622572392,0.0575149812320917,0.0645813165339513,   0.0100094777954512,-0.999918525607243,0.00792164766312428,   0.0100094777954512,-0.999918525607243,0.00792164766312428,   0.0100094777954512,-0.999918525607243,0.00792164766312428,   0.0150415257340363,-0.0654495341886084,0.997742507352517,   0.0150415257340363,-0.0654495341886084,0.997742507352517,   0.0150415257340363,-0.0654495341886084,0.997742507352517,   -0.996684566525671,0.0779292593159354,0.0233860084667234,   -0.996684566525671,0.0779292593159354,0.0233860084667234,   -0.996684566525671,0.0779292593159354,0.0233860084667234,   0.981221379514166,-0.170862578504458,0.0895018639533555,   0.981221379514166,-0.170862578504458,0.0895018639533555,   0.981221379514166,-0.170862578504458,0.0895018639533555,   -0.0759567930647385,-0.12232407038374,0.989579399235895,   -0.0759567930647385,-0.12232407038374,0.989579399235895,   -0.0759567930647385,-0.12232407038374,0.989579399235895,   -0.191183136949843,0.0976932195357524,0.976680624873227,   -0.191183136949843,0.0976932195357524,0.976680624873227,   -0.191183136949843,0.0976932195357524,0.976680624873227,   0.995780496276766,-0.0906819849557282,-0.014070566416688,   0.995780496276766,-0.0906819849557282,-0.014070566416688,   0.995780496276766,-0.0906819849557282,-0.014070566416688,   0.770387319567217,0.637424250460731,-0.0139177144177395,   0.770387319567217,0.637424250460731,-0.0139177144177395,   0.770387319567217,0.637424250460731,-0.0139177144177395,   -0.0750623651125798,-0.147647592158238,-0.986187522671819,   -0.0750623651125798,-0.147647592158238,-0.986187522671819,   -0.0750623651125798,-0.147647592158238,-0.986187522671819,   -0.208714106279387,0.109595391429519,-0.971816480626567,   -0.208714106279387,0.109595391429519,-0.971816480626567,   -0.208714106279387,0.109595391429519,-0.971816480626567,   0.750532774149672,0.660832648828323,0.00087473981280576,   0.750532774149672,0.660832648828323,0.00087473981280576,   0.750532774149672,0.660832648828323,0.00087473981280576,   -0.646069030040866,-0.763094440410075,0.0167834274595121,   -0.646069030040866,-0.763094440410075,0.0167834274595121,   -0.646069030040866,-0.763094440410075,0.0167834274595121,   0.995841996103483,0.0115536746774917,0.0903616699606544,   0.995841996103483,0.0115536746774917,0.0903616699606544,   0.995841996103483,0.0115536746774917,0.0903616699606544,   -0.0168179574753209,-0.143024826804663,-0.989576199806692,   -0.0168179574753209,-0.143024826804663,-0.989576199806692,   -0.0168179574753209,-0.143024826804663,-0.989576199806692,   -0.0161985595019033,0.000701204686243039,-0.999868548851323,   -0.0161985595019033,0.000701204686243039,-0.999868548851323,   -0.0161985595019033,0.000701204686243039,-0.999868548851323,   0.0812785958430602,0.0537045934576047,0.995243491061024,   0.0812785958430602,0.0537045934576047,0.995243491061024,   0.0812785958430602,0.0537045934576047,0.995243491061024,   -0.958446486833615,-0.223841651475468,0.176848090012405,   -0.958446486833615,-0.223841651475468,0.176848090012405,   -0.958446486833615,-0.223841651475468,0.176848090012405,   -0.992165570878753,0.107243349438772,0.0640807612625812,   -0.992165570878753,0.107243349438772,0.0640807612625812,   -0.992165570878753,0.107243349438772,0.0640807612625812,   -0.446437081738381,-0.0394961227593089,0.893942944675945,   -0.446437081738381,-0.0394961227593089,0.893942944675945,   -0.446437081738381,-0.0394961227593089,0.893942944675945,   0.411251459077734,0.894621053520058,0.174715219729412,   0.411251459077734,0.894621053520058,0.174715219729412,   0.411251459077734,0.894621053520058,0.174715219729412,   -0.456716860173509,-0.478215586147236,0.750146360918392,   -0.456716860173509,-0.478215586147236,0.750146360918392,   -0.456716860173509,-0.478215586147236,0.750146360918392,   -0.0512509707692279,0.993550334907609,0.101148751846917,   -0.0512509707692279,0.993550334907609,0.101148751846917,   -0.0512509707692279,0.993550334907609,0.101148751846917,   -0.633863183818885,0.773418854585108,-0.00638275577208917,   -0.633863183818885,0.773418854585108,-0.00638275577208917,   -0.633863183818885,0.773418854585108,-0.00638275577208917,   -0.993995596982044,-0.107531504221975,0.0202417583245573,   -0.993995596982044,-0.107531504221975,0.0202417583245573,   -0.993995596982044,-0.107531504221975,0.0202417583245573,   0.730730402107227,0.12060053040598,0.67192900778431,   0.730730402107227,0.12060053040598,0.67192900778431,   0.730730402107227,0.12060053040598,0.67192900778431,   0.690737587306462,0.0832446640854377,0.718297926617744,   0.690737587306462,0.0832446640854377,0.718297926617744,   0.690737587306462,0.0832446640854377,0.718297926617744,   -0.548536650875225,-0.431728866625847,0.7160431051051,   -0.548536650875225,-0.431728866625847,0.7160431051051,   -0.548536650875225,-0.431728866625847,0.7160431051051,   0.258447495648884,-0.964059373877386,-0.0615988281703723,   0.258447495648884,-0.964059373877386,-0.0615988281703723,   0.258447495648884,-0.964059373877386,-0.0615988281703723,   0.58419781568311,-0.439827254943242,-0.682103289803073,   0.58419781568311,-0.439827254943242,-0.682103289803073,   0.58419781568311,-0.439827254943242,-0.682103289803073,   0.597117330566828,0.14273010296222,0.789353540085265,   0.597117330566828,0.14273010296222,0.789353540085265,   0.597117330566828,0.14273010296222,0.789353540085265,   0.601983286611197,0.0121735198594305,0.798415886649942,   0.601983286611197,0.0121735198594305,0.798415886649942,   0.601983286611197,0.0121735198594305,0.798415886649942,   0.633302241932575,-0.0096306618416648,0.773844636032108,   0.633302241932575,-0.0096306618416648,0.773844636032108,   0.633302241932575,-0.0096306618416648,0.773844636032108,   0.576765641584976,-0.074005046836976,0.813550642387877,   0.576765641584976,-0.074005046836976,0.813550642387877,   0.576765641584976,-0.074005046836976,0.813550642387877,   0.224232883384214,-0.131875360441682,0.96557159409211,   0.224232883384214,-0.131875360441682,0.96557159409211,   0.224232883384214,-0.131875360441682,0.96557159409211,   0.386911756825545,-0.0459143194875333,-0.920972946234669,   0.386911756825545,-0.0459143194875333,-0.920972946234669,   0.386911756825545,-0.0459143194875333,-0.920972946234669,   0.525941228201432,0.0645727243168299,0.848066145859079,   0.525941228201432,0.0645727243168299,0.848066145859079,   0.525941228201432,0.0645727243168299,0.848066145859079,   0.988501811261311,-0.0727068450900951,-0.132581611885484,   0.988501811261311,-0.0727068450900951,-0.132581611885484,   0.988501811261311,-0.0727068450900951,-0.132581611885484,   0.992268609549242,0.124098316533046,0.00161689111497049,   0.992268609549242,0.124098316533046,0.00161689111497049,   0.992268609549242,0.124098316533046,0.00161689111497049,   0.912352250483465,-0.316362757528293,0.259861456716556,   0.912352250483465,-0.316362757528293,0.259861456716556,   0.912352250483465,-0.316362757528293,0.259861456716556,   0.461470622311443,0.340226512619356,0.819323370138043,   0.461470622311443,0.340226512619356,0.819323370138043,   0.461470622311443,0.340226512619356,0.819323370138043,   0.382924396427793,0.00885360795740509,0.923737257149752,   0.382924396427793,0.00885360795740509,0.923737257149752,   0.382924396427793,0.00885360795740509,0.923737257149752,   0.720071870594596,0.316976068965092,0.617270340192883,   0.720071870594596,0.316976068965092,0.617270340192883,   0.720071870594596,0.316976068965092,0.617270340192883,   0.860354350079301,0.509213235793743,0.022187221369268,   0.860354350079301,0.509213235793743,0.022187221369268,   0.860354350079301,0.509213235793743,0.022187221369268,   0.711954442064813,-0.074388122596619,0.6982745016401,   0.711954442064813,-0.074388122596619,0.6982745016401,   0.711954442064813,-0.074388122596619,0.6982745016401,   0.965870936409264,0.190657518982381,-0.175336946064925,   0.965870936409264,0.190657518982381,-0.175336946064925,   0.965870936409264,0.190657518982381,-0.175336946064925,   0.694680824512827,-0.0705927469349567,0.715845804719394,   0.694680824512827,-0.0705927469349567,0.715845804719394,   0.694680824512827,-0.0705927469349567,0.715845804719394,   -0.990997892002471,-0.13385010265061,0.00270704028040664,   -0.990997892002471,-0.13385010265061,0.00270704028040664,   -0.990997892002471,-0.13385010265061,0.00270704028040664,   -0.992817713454777,-0.119205803207939,-0.0101471341756347,   -0.992817713454777,-0.119205803207939,-0.0101471341756347,   -0.992817713454777,-0.119205803207939,-0.0101471341756347,   0.999680543409223,-0.0249018364425947,0.0043254677004101,   0.999680543409223,-0.0249018364425947,0.0043254677004101,   0.999680543409223,-0.0249018364425947,0.0043254677004101,   0.702350214975056,-0.185717411915092,0.68717771968833,   0.702350214975056,-0.185717411915092,0.68717771968833,   0.702350214975056,-0.185717411915092,0.68717771968833,   -0.999465295041831,-0.0311401045101722,0.00997085242300007,   -0.999465295041831,-0.0311401045101722,0.00997085242300007,   -0.999465295041831,-0.0311401045101722,0.00997085242300007,   -0.999733833987104,-0.0229103256183625,0.0027162771407885,   -0.999733833987104,-0.0229103256183625,0.0027162771407885,   -0.999733833987104,-0.0229103256183625,0.0027162771407885,   -0.160686977275339,0.101934736578318,-0.98172756140022,   -0.160686977275339,0.101934736578318,-0.98172756140022,   -0.160686977275339,0.101934736578318,-0.98172756140022,   -0.144322439430384,0.0903341080731212,-0.985398793583338,   -0.144322439430384,0.0903341080731212,-0.985398793583338,   -0.144322439430384,0.0903341080731212,-0.985398793583338,   -0.650943057043116,-0.759063408573786,0.00979174405860679,   -0.650943057043116,-0.759063408573786,0.00979174405860679,   -0.650943057043116,-0.759063408573786,0.00979174405860679,   -0.75385082911087,-0.65694379579451,0.0115661841570868,   -0.75385082911087,-0.65694379579451,0.0115661841570868,   -0.75385082911087,-0.65694379579451,0.0115661841570868,   -0.743666873605198,-0.668547777722942,-0.00185741863545318,   -0.743666873605198,-0.668547777722942,-0.00185741863545318,   -0.743666873605198,-0.668547777722942,-0.00185741863545318,   -0.20598938134884,-0.386068130522559,-0.899177275828487,   -0.20598938134884,-0.386068130522559,-0.899177275828487,   -0.20598938134884,-0.386068130522559,-0.899177275828487,   -0.189098504044501,0.09736687950398,0.977118952095286,   -0.189098504044501,0.09736687950398,0.977118952095286,   -0.189098504044501,0.09736687950398,0.977118952095286,   -0.155412305174198,0.0748585331588168,0.985009246359521,   -0.155412305174198,0.0748585331588168,0.985009246359521,   -0.155412305174198,0.0748585331588168,0.985009246359521,   0.543547627606151,0.839375132534142,-0.00231590306725729,   0.543547627606151,0.839375132534142,-0.00231590306725729,   0.543547627606151,0.839375132534142,-0.00231590306725729,   0.350547494894492,0.261624243422854,0.899260367789338,   0.350547494894492,0.261624243422854,0.899260367789338,   0.350547494894492,0.261624243422854,0.899260367789338,   -0.212114808058284,-0.375295778336024,0.902308365784977,   -0.212114808058284,-0.375295778336024,0.902308365784977,   -0.212114808058284,-0.375295778336024,0.902308365784977,   -0.263990516763574,-0.340653278230306,0.902365974031516,   -0.263990516763574,-0.340653278230306,0.902365974031516,   -0.263990516763574,-0.340653278230306,0.902365974031516,   -0.242301860304048,-0.374538064116114,0.894992205005916,   -0.242301860304048,-0.374538064116114,0.894992205005916,   -0.242301860304048,-0.374538064116114,0.894992205005916,   0.521625005689802,0.852830477842152,-0.0242390078724549,   0.521625005689802,0.852830477842152,-0.0242390078724549,   0.521625005689802,0.852830477842152,-0.0242390078724549,   0.582020873075053,0.812838441211218,-0.0233531966606233,   0.582020873075053,0.812838441211218,-0.0233531966606233,   0.582020873075053,0.812838441211218,-0.0233531966606233,   0.357553775758399,0.269580043425434,-0.894137516060954,   0.357553775758399,0.269580043425434,-0.894137516060954,   0.357553775758399,0.269580043425434,-0.894137516060954,   0.200518602275723,0.392427177033238,-0.897659846972735,   0.200518602275723,0.392427177033238,-0.897659846972735,   0.200518602275723,0.392427177033238,-0.897659846972735,   0.508940288027779,0.860778032719484,0.00640012576257341,   0.508940288027779,0.860778032719484,0.00640012576257341,   0.508940288027779,0.860778032719484,0.00640012576257341,   -0.568141940801684,-0.822914225173095,-0.00518778467749193,   -0.568141940801684,-0.822914225173095,-0.00518778467749193,   -0.568141940801684,-0.822914225173095,-0.00518778467749193,   0.231728044821929,0.353670116617111,0.906211654005313,   0.231728044821929,0.353670116617111,0.906211654005313,   0.231728044821929,0.353670116617111,0.906211654005313,   -0.219194191738892,-0.377206917596651,-0.899816007651102,   -0.219194191738892,-0.377206917596651,-0.899816007651102,   -0.219194191738892,-0.377206917596651,-0.899816007651102,   0.257140867680146,0.30235055446204,-0.917857677630469,   0.257140867680146,0.30235055446204,-0.917857677630469,   0.257140867680146,0.30235055446204,-0.917857677630469,   0.258332848971947,0.965976304095252,0.0124064123949696,   0.258332848971947,0.965976304095252,0.0124064123949696,   0.258332848971947,0.965976304095252,0.0124064123949696,   -0.239582599858017,-0.345788899778067,-0.907210127057424,   -0.239582599858017,-0.345788899778067,-0.907210127057424,   -0.239582599858017,-0.345788899778067,-0.907210127057424,   0.837979086003391,-0.544005037203757,0.0430066380674088,   0.837979086003391,-0.544005037203757,0.0430066380674088,   0.837979086003391,-0.544005037203757,0.0430066380674088,   0.282214229242096,0.341863193443403,0.89637307287868,   0.282214229242096,0.341863193443403,0.89637307287868,   0.282214229242096,0.341863193443403,0.89637307287868,   0.782528330356764,-0.61228300773779,-0.112955436454473,   0.782528330356764,-0.61228300773779,-0.112955436454473,   0.782528330356764,-0.61228300773779,-0.112955436454473,   0.794658857197271,-0.605540144408171,0.0428769657048809,   0.794658857197271,-0.605540144408171,0.0428769657048809,   0.794658857197271,-0.605540144408171,0.0428769657048809,   -0.606739435345562,-0.794812564375059,0.011842512743978,   -0.606739435345562,-0.794812564375059,0.011842512743978,   -0.606739435345562,-0.794812564375059,0.011842512743978,   0.911461353857179,-0.41134356985221,0.00588795092360531,   0.911461353857179,-0.41134356985221,0.00588795092360531,   0.911461353857179,-0.41134356985221,0.00588795092360531,   0.608404555503399,-0.793615752309995,-0.00423491772674243,   0.608404555503399,-0.793615752309995,-0.00423491772674243,   0.608404555503399,-0.793615752309995,-0.00423491772674243,   0.74555141376118,-0.660479135966329,-0.0889966313512874,   0.74555141376118,-0.660479135966329,-0.0889966313512874,   0.74555141376118,-0.660479135966329,-0.0889966313512874,   0.782709264824698,-0.603162945492499,-0.153494846631391,   0.782709264824698,-0.603162945492499,-0.153494846631391,   0.782709264824698,-0.603162945492499,-0.153494846631391,   0.83137983831565,-0.544232362565527,-0.112332987045607,   0.83137983831565,-0.544232362565527,-0.112332987045607,   0.83137983831565,-0.544232362565527,-0.112332987045607,   0.838724732097807,-0.540020849074177,-0.0701306376177124,   0.838724732097807,-0.540020849074177,-0.0701306376177124,   0.838724732097807,-0.540020849074177,-0.0701306376177124,   0.850017052688987,-0.524170871431309,-0.0521143711548948,   0.850017052688987,-0.524170871431309,-0.0521143711548948,   0.850017052688987,-0.524170871431309,-0.0521143711548948,   0.878981489234223,-0.476489992138327,-0.0186769637683825,   0.878981489234223,-0.476489992138327,-0.0186769637683825,   0.878981489234223,-0.476489992138327,-0.0186769637683825,   0.957787081607102,0.285906718775546,-0.0300209004786926,   0.957787081607102,0.285906718775546,-0.0300209004786926,   0.957787081607102,0.285906718775546,-0.0300209004786926,   0.966513036762353,0.256449411953808,0.00928702734793651,   0.966513036762353,0.256449411953808,0.00928702734793651,   0.966513036762353,0.256449411953808,0.00928702734793651,   0.956628430509229,0.289994340302502,0.027664571819683,   0.956628430509229,0.289994340302502,0.027664571819683,   0.956628430509229,0.289994340302502,0.027664571819683,   0.409459151931126,-0.246253591288658,0.878465919473989,   0.409459151931126,-0.246253591288658,0.878465919473989,   0.409459151931126,-0.246253591288658,0.878465919473989,   0.558410637371002,0.0927553970770454,0.82436278202257,   0.558410637371002,0.0927553970770454,0.82436278202257,   0.558410637371002,0.0927553970770454,0.82436278202257,   0.953105685141739,-0.229959574070635,-0.196743862023057,   0.953105685141739,-0.229959574070635,-0.196743862023057,   0.953105685141739,-0.229959574070635,-0.196743862023057,   0.613786909543235,0.0954951217343731,0.783674876079552,   0.613786909543235,0.0954951217343731,0.783674876079552,   0.613786909543235,0.0954951217343731,0.783674876079552,   0.08780431220349,0.996015170944423,-0.015626324168643,   0.08780431220349,0.996015170944423,-0.015626324168643,   0.08780431220349,0.996015170944423,-0.015626324168643,   0.579893184066725,0.131799360604007,0.803960710244804,   0.579893184066725,0.131799360604007,0.803960710244804,   0.579893184066725,0.131799360604007,0.803960710244804,   0.292884389696743,0.06182779463788,0.954146769675495,   0.292884389696743,0.06182779463788,0.954146769675495,   0.292884389696743,0.06182779463788,0.954146769675495,   0.956692887572573,0.0213579572520437,0.290314582014188,   0.956692887572573,0.0213579572520437,0.290314582014188,   0.956692887572573,0.0213579572520437,0.290314582014188,   0.880382483642531,0.351768476475488,-0.31809687432215,   0.880382483642531,0.351768476475488,-0.31809687432215,   0.880382483642531,0.351768476475488,-0.31809687432215,   0.84412852841516,-0.534093239479522,-0.0468128086951243,   0.84412852841516,-0.534093239479522,-0.0468128086951243,   0.84412852841516,-0.534093239479522,-0.0468128086951243,   0.979068128627313,-0.201603773884623,0.0279556409636626,   0.979068128627313,-0.201603773884623,0.0279556409636626,   0.979068128627313,-0.201603773884623,0.0279556409636626,   0.387941808587365,0.372343944963093,0.84312581492876,   0.387941808587365,0.372343944963093,0.84312581492876,   0.387941808587365,0.372343944963093,0.84312581492876,   0.261657610523224,0.0699553112652461,0.962622225632184,   0.261657610523224,0.0699553112652461,0.962622225632184,   0.261657610523224,0.0699553112652461,0.962622225632184,   0.818758078574084,0.561941363686129,0.117716237402698,   0.818758078574084,0.561941363686129,0.117716237402698,   0.818758078574084,0.561941363686129,0.117716237402698,   0.87346548784867,0.484199457233344,-0.0510776580533951,   0.87346548784867,0.484199457233344,-0.0510776580533951,   0.87346548784867,0.484199457233344,-0.0510776580533951,   0.993687696972372,0.109572219434247,0.0240559683654054,   0.993687696972372,0.109572219434247,0.0240559683654054,   0.993687696972372,0.109572219434247,0.0240559683654054,   0.986865716925522,0.145040092147164,0.0711296592640328,   0.986865716925522,0.145040092147164,0.0711296592640328,   0.986865716925522,0.145040092147164,0.0711296592640328,   0.894244385131107,0.18112559325597,0.409292681499634,   0.894244385131107,0.18112559325597,0.409292681499634,   0.894244385131107,0.18112559325597,0.409292681499634,   0.981963601657324,-0.182812187690875,0.0482409478747362,   0.981963601657324,-0.182812187690875,0.0482409478747362,   0.981963601657324,-0.182812187690875,0.0482409478747362,   0.980535637921502,0.0113929846330851,0.196010363672496,   0.980535637921502,0.0113929846330851,0.196010363672496,   0.980535637921502,0.0113929846330851,0.196010363672496,   0.890344612186686,-0.170538114755046,0.422141235803771,   0.890344612186686,-0.170538114755046,0.422141235803771,   0.890344612186686,-0.170538114755046,0.422141235803771,   0.998590644053875,-0.0512575743971345,-0.0137617831325917,   0.998590644053875,-0.0512575743971345,-0.0137617831325917,   0.998590644053875,-0.0512575743971345,-0.0137617831325917,   0.987871566278016,-0.148888617940622,-0.0440675389277786,   0.987871566278016,-0.148888617940622,-0.0440675389277786,   0.987871566278016,-0.148888617940622,-0.0440675389277786,   0.960038321048834,-0.037159158157898,0.277390733592045,   0.960038321048834,-0.037159158157898,0.277390733592045,   0.960038321048834,-0.037159158157898,0.277390733592045,   0.997098404544539,-0.0516257795720586,-0.0559423858832733,   0.997098404544539,-0.0516257795720586,-0.0559423858832733,   0.997098404544539,-0.0516257795720586,-0.0559423858832733,   0.999522361361805,0.0118460402692957,-0.0285433086319798,   0.999522361361805,0.0118460402692957,-0.0285433086319798,   0.999522361361805,0.0118460402692957,-0.0285433086319798,   0.997295653047331,0.0679152814562665,-0.0280872739441309,   0.997295653047331,0.0679152814562665,-0.0280872739441309,   0.997295653047331,0.0679152814562665,-0.0280872739441309,   0.40741264498219,-0.91321457035062,-0.00735426460957556,   0.40741264498219,-0.91321457035062,-0.00735426460957556,   0.40741264498219,-0.91321457035062,-0.00735426460957556,   0.391840341633549,0.918490103303208,-0.0532642169055987,   0.391840341633549,0.918490103303208,-0.0532642169055987,   0.391840341633549,0.918490103303208,-0.0532642169055987,   0.482006550089596,0.370965394480847,0.793759637275917,   0.482006550089596,0.370965394480847,0.793759637275917,   0.482006550089596,0.370965394480847,0.793759637275917,   0.452385693590158,0.344261422184585,0.8226975491822,   0.452385693590158,0.344261422184585,0.8226975491822,   0.452385693590158,0.344261422184585,0.8226975491822,   0.736351388152382,-0.145385316819269,0.660794781168421,   0.736351388152382,-0.145385316819269,0.660794781168421,   0.736351388152382,-0.145385316819269,0.660794781168421,   0.0996767008024295,0.994949732161866,-0.0118146429558734,   0.0996767008024295,0.994949732161866,-0.0118146429558734,   0.0996767008024295,0.994949732161866,-0.0118146429558734,   0.333676936784439,-0.938280764492747,-0.0910434448000468,   0.333676936784439,-0.938280764492747,-0.0910434448000468,   0.333676936784439,-0.938280764492747,-0.0910434448000468,   0.429857453753664,-0.159410377973802,-0.888713058780316,   0.429857453753664,-0.159410377973802,-0.888713058780316,   0.429857453753664,-0.159410377973802,-0.888713058780316,   0.542348250203524,-0.315418355772912,-0.778697397159313,   0.542348250203524,-0.315418355772912,-0.778697397159313,   0.542348250203524,-0.315418355772912,-0.778697397159313,   0.545982062978565,0.360470795168916,-0.756283275456994,   0.545982062978565,0.360470795168916,-0.756283275456994,   0.545982062978565,0.360470795168916,-0.756283275456994,   0.428219960353759,0.903331662649072,-0.0248912195420094,   0.428219960353759,0.903331662649072,-0.0248912195420094,   0.428219960353759,0.903331662649072,-0.0248912195420094,   0.99592818288489,-0.0543380507200535,-0.0719335163852503,   0.99592818288489,-0.0543380507200535,-0.0719335163852503,   0.99592818288489,-0.0543380507200535,-0.0719335163852503,   0.989472173604335,-0.00427535489064935,-0.144660080890589,   0.989472173604335,-0.00427535489064935,-0.144660080890589,   0.989472173604335,-0.00427535489064935,-0.144660080890589,   0.480801439781699,0.0776132374635706,-0.873387749441374,   0.480801439781699,0.0776132374635706,-0.873387749441374,   0.480801439781699,0.0776132374635706,-0.873387749441374,   0.422654439593263,-0.891315125725003,-0.164074895538368,   0.422654439593263,-0.891315125725003,-0.164074895538368,   0.422654439593263,-0.891315125725003,-0.164074895538368,   0.994984457421311,-0.0780474133174729,-0.0625662110445442,   0.994984457421311,-0.0780474133174729,-0.0625662110445442,   0.994984457421311,-0.0780474133174729,-0.0625662110445442,   0.964817606044481,-0.254419366573748,-0.0663157068786132,   0.964817606044481,-0.254419366573748,-0.0663157068786132,   0.964817606044481,-0.254419366573748,-0.0663157068786132,   0.660537757913225,-0.351629622619592,0.663359991910405,   0.660537757913225,-0.351629622619592,0.663359991910405,   0.660537757913225,-0.351629622619592,0.663359991910405,   0.519853135204597,0.142487989670884,-0.84228848420093,   0.519853135204597,0.142487989670884,-0.84228848420093,   0.519853135204597,0.142487989670884,-0.84228848420093,   0.449307925664544,-0.0499569147923132,0.891979088655927,   0.449307925664544,-0.0499569147923132,0.891979088655927,   0.449307925664544,-0.0499569147923132,0.891979088655927,   0.905452381986648,0.420712608674153,-0.0561861625072788,   0.905452381986648,0.420712608674153,-0.0561861625072788,   0.905452381986648,0.420712608674153,-0.0561861625072788,   0.282916407883972,0.0727937040208484,0.95637826345278,   0.282916407883972,0.0727937040208484,0.95637826345278,   0.282916407883972,0.0727937040208484,0.95637826345278,   0.160785946070152,-0.985844729014547,0.0475189417028689,   0.160785946070152,-0.985844729014547,0.0475189417028689,   0.160785946070152,-0.985844729014547,0.0475189417028689,   0.1573413278897,-0.986635913229667,-0.0423471517739638,   0.1573413278897,-0.986635913229667,-0.0423471517739638,   0.1573413278897,-0.986635913229667,-0.0423471517739638,   -0.784771133751468,0.368300715713015,0.498486559934886,   -0.784771133751468,0.368300715713015,0.498486559934886,   -0.784771133751468,0.368300715713015,0.498486559934886,   -0.886771040960459,0.462167383723056,-0.00619922063567565,   -0.886771040960459,0.462167383723056,-0.00619922063567565,   -0.886771040960459,0.462167383723056,-0.00619922063567565,   0.668162081297607,0.0405126854106106,0.742911943259005,   0.668162081297607,0.0405126854106106,0.742911943259005,   0.668162081297607,0.0405126854106106,0.742911943259005,   0.606460643713982,0.0380997973681501,0.794200159321646,   0.606460643713982,0.0380997973681501,0.794200159321646,   0.606460643713982,0.0380997973681501,0.794200159321646,   -0.0494732014027059,0.399259730575866,0.915502086225615,   -0.0494732014027059,0.399259730575866,0.915502086225615,   -0.0494732014027059,0.399259730575866,0.915502086225615,   0.239045028370172,0.650938912483356,0.720510934425349,   0.239045028370172,0.650938912483356,0.720510934425349,   0.239045028370172,0.650938912483356,0.720510934425349,   0.571536764286596,0.328826367968058,0.751810446055216,   0.571536764286596,0.328826367968058,0.751810446055216,   0.571536764286596,0.328826367968058,0.751810446055216,   0.320599362298382,0.631665001993607,0.705843732103847,   0.320599362298382,0.631665001993607,0.705843732103847,   0.320599362298382,0.631665001993607,0.705843732103847,   0.537879298204265,0.843007800993558,0.00486908895918839,   0.537879298204265,0.843007800993558,0.00486908895918839,   0.537879298204265,0.843007800993558,0.00486908895918839,   -0.4540276568947,-0.103286486368818,0.884980671262538,   -0.4540276568947,-0.103286486368818,0.884980671262538,   -0.4540276568947,-0.103286486368818,0.884980671262538,   -0.385065187740575,0.430187600793492,0.816494598459693,   -0.385065187740575,0.430187600793492,0.816494598459693,   -0.385065187740575,0.430187600793492,0.816494598459693,   -0.832895870591692,-0.0673785233544821,0.549312846510872,   -0.832895870591692,-0.0673785233544821,0.549312846510872,   -0.832895870591692,-0.0673785233544821,0.549312846510872,   -0.962932297733158,-0.269368379962049,-0.0142149871249427,   -0.962932297733158,-0.269368379962049,-0.0142149871249427,   -0.962932297733158,-0.269368379962049,-0.0142149871249427,   -0.880816287879885,0.473358031372201,0.00973864163703825,   -0.880816287879885,0.473358031372201,0.00973864163703825,   -0.880816287879885,0.473358031372201,0.00973864163703825,   0.176955080012163,-0.971602862377219,0.157082072428028,   0.176955080012163,-0.971602862377219,0.157082072428028,   0.176955080012163,-0.971602862377219,0.157082072428028,   0.657962137876657,-0.196195140246571,0.72704421603119,   0.657962137876657,-0.196195140246571,0.72704421603119,   0.657962137876657,-0.196195140246571,0.72704421603119,   0.214947728052957,-0.0861842780071926,-0.972815370164992,   0.214947728052957,-0.0861842780071926,-0.972815370164992,   0.214947728052957,-0.0861842780071926,-0.972815370164992,   -0.0794872329812013,-0.657805580735342,0.748981707217493,   -0.0794872329812013,-0.657805580735342,0.748981707217493,   -0.0794872329812013,-0.657805580735342,0.748981707217493,   -0.26307305882039,0.241179589669516,0.934143977794498,   -0.26307305882039,0.241179589669516,0.934143977794498,   -0.26307305882039,0.241179589669516,0.934143977794498,   0.0100656879073188,-0.999946624807218,0.00233012094238171,   0.0100656879073188,-0.999946624807218,0.00233012094238171,   0.0100656879073188,-0.999946624807218,0.00233012094238171,   0.0303014350278464,-0.999507753984465,0.00812851525082938,   0.0303014350278464,-0.999507753984465,0.00812851525082938,   0.0303014350278464,-0.999507753984465,0.00812851525082938,   -0.96569148506036,-0.259676179791127,-0.00287007508669166,   -0.96569148506036,-0.259676179791127,-0.00287007508669166,   -0.96569148506036,-0.259676179791127,-0.00287007508669166,   0.599526267943946,-0.130991688344594,0.789562810439953,   0.599526267943946,-0.130991688344594,0.789562810439953,   0.599526267943946,-0.130991688344594,0.789562810439953,   0.411693794108858,-0.34878374939491,-0.841937121197469,   0.411693794108858,-0.34878374939491,-0.841937121197469,   0.411693794108858,-0.34878374939491,-0.841937121197469,   -0.258519905830117,0.300348429389952,0.918127594211489,   -0.258519905830117,0.300348429389952,0.918127594211489,   -0.258519905830117,0.300348429389952,0.918127594211489,   -0.236551389752689,0.76118373221353,0.603856577193254,   -0.236551389752689,0.76118373221353,0.603856577193254,   -0.236551389752689,0.76118373221353,0.603856577193254,   0.00958070387831372,0.852009889705105,0.523438017302804,   0.00958070387831372,0.852009889705105,0.523438017302804,   0.00958070387831372,0.852009889705105,0.523438017302804,   -0.418997867264671,0.907977919806903,-0.00410905959897274,   -0.418997867264671,0.907977919806903,-0.00410905959897274,   -0.418997867264671,0.907977919806903,-0.00410905959897274,   0.564591602851284,0.824781772011896,0.0311664971842258,   0.564591602851284,0.824781772011896,0.0311664971842258,   0.564591602851284,0.824781772011896,0.0311664971842258,   0.0147251181596104,0.999891484004796,0.00043716115088779,   0.0147251181596104,0.999891484004796,0.00043716115088779,   0.0147251181596104,0.999891484004796,0.00043716115088779,   0.197885399342635,0.135836027846092,0.970767707675735,   0.197885399342635,0.135836027846092,0.970767707675735,   0.197885399342635,0.135836027846092,0.970767707675735,   0.513522958004089,-0.185004487820472,0.837894689736732,   0.513522958004089,-0.185004487820472,0.837894689736732,   0.513522958004089,-0.185004487820472,0.837894689736732,   0.616898491486458,-0.177999577070983,0.766650116914022,   0.616898491486458,-0.177999577070983,0.766650116914022,   0.616898491486458,-0.177999577070983,0.766650116914022,   0.616336124761087,-0.269148105106756,0.740060185952418,   0.616336124761087,-0.269148105106756,0.740060185952418,   0.616336124761087,-0.269148105106756,0.740060185952418,   0.998629622898878,-0.0519804613189962,-0.00607518805548196,   0.998629622898878,-0.0519804613189962,-0.00607518805548196,   0.998629622898878,-0.0519804613189962,-0.00607518805548196,   0.996445577649449,-0.084061884208693,-0.00545989067101846,   0.996445577649449,-0.084061884208693,-0.00545989067101846,   0.996445577649449,-0.084061884208693,-0.00545989067101846,   -0.119910565884769,-0.148973500258657,-0.981543861684173,   -0.119910565884769,-0.148973500258657,-0.981543861684173,   -0.119910565884769,-0.148973500258657,-0.981543861684173,   0.144117022125986,-0.449371762432604,-0.881643523801856,   0.144117022125986,-0.449371762432604,-0.881643523801856,   0.144117022125986,-0.449371762432604,-0.881643523801856,   -0.784870171330747,-0.614840690909471,0.077134550995051,   -0.784870171330747,-0.614840690909471,0.077134550995051,   -0.784870171330747,-0.614840690909471,0.077134550995051,   -0.0235043953865532,-0.999612048910273,-0.0149430609621385,   -0.0235043953865532,-0.999612048910273,-0.0149430609621385,   -0.0235043953865532,-0.999612048910273,-0.0149430609621385,   0.190105703006376,0.158567407208526,0.968873675489027,   0.190105703006376,0.158567407208526,0.968873675489027,   0.190105703006376,0.158567407208526,0.968873675489027,   0.559597646907823,0.827944602325712,-0.036853887921693,   0.559597646907823,0.827944602325712,-0.036853887921693,   0.559597646907823,0.827944602325712,-0.036853887921693,   0.577946429168513,0.815602212858706,-0.0277660834715324,   0.577946429168513,0.815602212858706,-0.0277660834715324,   0.577946429168513,0.815602212858706,-0.0277660834715324,   -0.0426201686014666,-0.170427481903315,0.984448065994584,   -0.0426201686014666,-0.170427481903315,0.984448065994584,   -0.0426201686014666,-0.170427481903315,0.984448065994584,   0.724663427225321,-0.55380453486738,0.410077376116237,   0.724663427225321,-0.55380453486738,0.410077376116237,   0.724663427225321,-0.55380453486738,0.410077376116237,   -0.579455077986601,-0.814854828024619,0.0156019819417511,   -0.579455077986601,-0.814854828024619,0.0156019819417511,   -0.579455077986601,-0.814854828024619,0.0156019819417511,   -0.476459431656677,-0.864125121174845,-0.162093136621991,   -0.476459431656677,-0.864125121174845,-0.162093136621991,   -0.476459431656677,-0.864125121174845,-0.162093136621991,   0.599417975186289,0.794542871266067,-0.0969521363552356,   0.599417975186289,0.794542871266067,-0.0969521363552356,   0.599417975186289,0.794542871266067,-0.0969521363552356,   -0.411613021380552,0.618591873505144,-0.66926737158132,   -0.411613021380552,0.618591873505144,-0.66926737158132,   -0.411613021380552,0.618591873505144,-0.66926737158132,   0.62766592689948,0.777088347495808,0.0465745037080555,   0.62766592689948,0.777088347495808,0.0465745037080555,   0.62766592689948,0.777088347495808,0.0465745037080555,   0.275064100244401,-0.249048601283373,0.928608924658563,   0.275064100244401,-0.249048601283373,0.928608924658563,   0.275064100244401,-0.249048601283373,0.928608924658563,   -0.000525194552911303,-0.0566698749567291,-0.99839283322902,   -0.000525194552911303,-0.0566698749567291,-0.99839283322902,   -0.000525194552911303,-0.0566698749567291,-0.99839283322902,   -0.196473714937175,-0.321338794494145,-0.926358169657846,   -0.196473714937175,-0.321338794494145,-0.926358169657846,   -0.196473714937175,-0.321338794494145,-0.926358169657846,   -0.297740960025918,0.502091220024695,-0.811945027386065,   -0.297740960025918,0.502091220024695,-0.811945027386065,   -0.297740960025918,0.502091220024695,-0.811945027386065,   0.427679485885076,0.0349861242322025,-0.903253136426487,   0.427679485885076,0.0349861242322025,-0.903253136426487,   0.427679485885076,0.0349861242322025,-0.903253136426487,   0.204999794437651,0.0671839779640581,-0.976453479375974,   0.204999794437651,0.0671839779640581,-0.976453479375974,   0.204999794437651,0.0671839779640581,-0.976453479375974,   -0.168942480242924,-0.27478561564204,-0.946547042574004,   -0.168942480242924,-0.27478561564204,-0.946547042574004,   -0.168942480242924,-0.27478561564204,-0.946547042574004,   0.0108873997179943,-0.0282645286084331,-0.99954118521946,   0.0108873997179943,-0.0282645286084331,-0.99954118521946,   0.0108873997179943,-0.0282645286084331,-0.99954118521946,   0.209203994310599,-0.226611133245253,-0.951252376109407,   0.209203994310599,-0.226611133245253,-0.951252376109407,   0.209203994310599,-0.226611133245253,-0.951252376109407,   0.0317082894031884,-0.28142704007779,-0.959058603786118,   0.0317082894031884,-0.28142704007779,-0.959058603786118,   0.0317082894031884,-0.28142704007779,-0.959058603786118,   0.0418530228264657,-0.0628256420291884,0.997146560533559,   0.0418530228264657,-0.0628256420291884,0.997146560533559,   0.0418530228264657,-0.0628256420291884,0.997146560533559,   0.0517285013435193,-0.0410265268458983,0.997818112805995,   0.0517285013435193,-0.0410265268458983,0.997818112805995,   0.0517285013435193,-0.0410265268458983,0.997818112805995,   0.119703722705455,-0.40586134428277,0.90606158068171,   0.119703722705455,-0.40586134428277,0.90606158068171,   0.119703722705455,-0.40586134428277,0.90606158068171,   0.21183944290602,0.170970928758643,0.962233335500633,   0.21183944290602,0.170970928758643,0.962233335500633,   0.21183944290602,0.170970928758643,0.962233335500633,   0.846374993643075,-0.25709688353067,0.466423158317103,   0.846374993643075,-0.25709688353067,0.466423158317103,   0.846374993643075,-0.25709688353067,0.466423158317103,   0.718984442178251,-0.496027938889227,0.486844590959923,   0.718984442178251,-0.496027938889227,0.486844590959923,   0.718984442178251,-0.496027938889227,0.486844590959923,   -0.670958061943336,0.2007520768603,-0.713802411560453,   -0.670958061943336,0.2007520768603,-0.713802411560453,   -0.670958061943336,0.2007520768603,-0.713802411560453,   -0.53933513669189,0.330978686959334,-0.774319520035634,   -0.53933513669189,0.330978686959334,-0.774319520035634,   -0.53933513669189,0.330978686959334,-0.774319520035634,   0.374823118742684,0.0897424189905404,-0.922742611939935,   0.374823118742684,0.0897424189905404,-0.922742611939935,   0.374823118742684,0.0897424189905404,-0.922742611939935,   -0.294648000757595,0.506492787036142,-0.810337961797369,   -0.294648000757595,0.506492787036142,-0.810337961797369,   -0.294648000757595,0.506492787036142,-0.810337961797369,   0.581252394200518,0.148355663733239,-0.800085152514678,   0.581252394200518,0.148355663733239,-0.800085152514678,   0.581252394200518,0.148355663733239,-0.800085152514678,   0.203968111593614,0.0992848432063595,0.973929940684865,   0.203968111593614,0.0992848432063595,0.973929940684865,   0.203968111593614,0.0992848432063595,0.973929940684865,   0.83213690073916,-0.198851336611473,0.517693272465516,   0.83213690073916,-0.198851336611473,0.517693272465516,   0.83213690073916,-0.198851336611473,0.517693272465516,   0.192385293452246,0.923973782397467,0.330545531365062,   0.192385293452246,0.923973782397467,0.330545531365062,   0.192385293452246,0.923973782397467,0.330545531365062,   -0.131410330030432,0.989632450838133,-0.0579563405452986,   -0.131410330030432,0.989632450838133,-0.0579563405452986,   -0.131410330030432,0.989632450838133,-0.0579563405452986,   -0.689566223079712,0.609806887479469,-0.390683995026905,   -0.689566223079712,0.609806887479469,-0.390683995026905,   -0.689566223079712,0.609806887479469,-0.390683995026905,   0.286020363317761,0.224844863584156,0.931470417719961,   0.286020363317761,0.224844863584156,0.931470417719961,   0.286020363317761,0.224844863584156,0.931470417719961,   0.392150750354169,0.905247683195088,0.163537216151518,   0.392150750354169,0.905247683195088,0.163537216151518,   0.392150750354169,0.905247683195088,0.163537216151518,   0.8406614246716,-0.194907790576554,0.505271533179618,   0.8406614246716,-0.194907790576554,0.505271533179618,   0.8406614246716,-0.194907790576554,0.505271533179618,   0.381430495122089,-0.0215177618984209,0.924147046369679,   0.381430495122089,-0.0215177618984209,0.924147046369679,   0.381430495122089,-0.0215177618984209,0.924147046369679,   0.908772533547688,0.414860539960366,-0.044980158438032,   0.908772533547688,0.414860539960366,-0.044980158438032,   0.908772533547688,0.414860539960366,-0.044980158438032,   0.87188437034768,-0.144664353421143,0.467856676336538,   0.87188437034768,-0.144664353421143,0.467856676336538,   0.87188437034768,-0.144664353421143,0.467856676336538,   0.866192538203566,0.129202089768329,0.482718662121076,   0.866192538203566,0.129202089768329,0.482718662121076,   0.866192538203566,0.129202089768329,0.482718662121076,   0.628932676423626,0.0953411676566557,-0.771591699201385,   0.628932676423626,0.0953411676566557,-0.771591699201385,   0.628932676423626,0.0953411676566557,-0.771591699201385,   -0.302522858185587,-0.921010432160153,0.245397033656461,   -0.302522858185587,-0.921010432160153,0.245397033656461,   -0.302522858185587,-0.921010432160153,0.245397033656461,   0.822523925932917,-0.500056589982571,-0.27092027994025,   0.822523925932917,-0.500056589982571,-0.27092027994025,   0.822523925932917,-0.500056589982571,-0.27092027994025,   0.340870769901983,0.840217776643351,-0.421712231312933,   0.340870769901983,0.840217776643351,-0.421712231312933,   0.340870769901983,0.840217776643351,-0.421712231312933,   0.33988060008795,0.840489130197674,-0.42197061473924,   0.33988060008795,0.840489130197674,-0.42197061473924,   0.33988060008795,0.840489130197674,-0.42197061473924,   -0.70570407365221,0.036344196642069,-0.707573925325912,   -0.70570407365221,0.036344196642069,-0.707573925325912,   -0.70570407365221,0.036344196642069,-0.707573925325912,   0.0427794893743499,-0.403226624103761,-0.914099669020153,   0.0427794893743499,-0.403226624103761,-0.914099669020153,   0.0427794893743499,-0.403226624103761,-0.914099669020153,   -0.704116918424112,0.113814124317471,-0.700903495707347,   -0.704116918424112,0.113814124317471,-0.700903495707347,   -0.704116918424112,0.113814124317471,-0.700903495707347,   0.178262259120802,-0.93790992149049,-0.297569397188037,   0.178262259120802,-0.93790992149049,-0.297569397188037,   0.178262259120802,-0.93790992149049,-0.297569397188037,   0.932390543174516,0.140266573167763,0.333126347577769,   0.932390543174516,0.140266573167763,0.333126347577769,   0.932390543174516,0.140266573167763,0.333126347577769,   -0.27968634188565,-0.895527610961448,0.346129814041358,   -0.27968634188565,-0.895527610961448,0.346129814041358,   -0.27968634188565,-0.895527610961448,0.346129814041358,   0.256194967653506,-0.902270471603738,-0.346802731565061,   0.256194967653506,-0.902270471603738,-0.346802731565061,   0.256194967653506,-0.902270471603738,-0.346802731565061,   0.205357688235452,0.951575461822114,-0.228762672524654,   0.205357688235452,0.951575461822114,-0.228762672524654,   0.205357688235452,0.951575461822114,-0.228762672524654,   -0.694318202238042,0.0383554061906709,-0.718645320625468,   -0.694318202238042,0.0383554061906709,-0.718645320625468,   -0.694318202238042,0.0383554061906709,-0.718645320625468,   -0.592618860397344,-0.780003257981881,-0.200992049193506,   -0.592618860397344,-0.780003257981881,-0.200992049193506,   -0.592618860397344,-0.780003257981881,-0.200992049193506,   -0.426716288931966,0.472996065139051,-0.770835865228848,   -0.426716288931966,0.472996065139051,-0.770835865228848,   -0.426716288931966,0.472996065139051,-0.770835865228848,   -0.702504372992242,0.69888870639184,0.134321189708538,   -0.702504372992242,0.69888870639184,0.134321189708538,   -0.702504372992242,0.69888870639184,0.134321189708538,   -0.527116129058929,0.33525287182078,-0.780867529368363,   -0.527116129058929,0.33525287182078,-0.780867529368363,   -0.527116129058929,0.33525287182078,-0.780867529368363,   -0.865815893182532,0.491441320511852,0.0940652305908082,   -0.865815893182532,0.491441320511852,0.0940652305908082,   -0.865815893182532,0.491441320511852,0.0940652305908082,   -0.600345016292509,0.236352797414525,-0.764017811681819,   -0.600345016292509,0.236352797414525,-0.764017811681819,   -0.600345016292509,0.236352797414525,-0.764017811681819,   -0.882175304099189,0.409007925884412,0.233407903467802,   -0.882175304099189,0.409007925884412,0.233407903467802,   -0.882175304099189,0.409007925884412,0.233407903467802,   -0.868481589944983,0.463753438370386,0.175135594115755,   -0.868481589944983,0.463753438370386,0.175135594115755,   -0.868481589944983,0.463753438370386,0.175135594115755,   -0.814592526440065,0.549608212870893,0.185391014380026,   -0.814592526440065,0.549608212870893,0.185391014380026,   -0.814592526440065,0.549608212870893,0.185391014380026,   -0.583722816284757,-0.787562394886499,-0.197517462289374,   -0.583722816284757,-0.787562394886499,-0.197517462289374,   -0.583722816284757,-0.787562394886499,-0.197517462289374,   -0.545455775723364,-0.838137897895889,0.00169140198765973,   -0.545455775723364,-0.838137897895889,0.00169140198765973,   -0.545455775723364,-0.838137897895889,0.00169140198765973,   0.599879015204691,-0.640979980794419,0.478842177901901,   0.599879015204691,-0.640979980794419,0.478842177901901,   0.599879015204691,-0.640979980794419,0.478842177901901,   0.638392865514477,-0.724808359720598,-0.259050942749396,   0.638392865514477,-0.724808359720598,-0.259050942749396,   0.638392865514477,-0.724808359720598,-0.259050942749396,   0.7170578172827,-0.497731878021444,0.487945759562492,   0.7170578172827,-0.497731878021444,0.487945759562492,   0.7170578172827,-0.497731878021444,0.487945759562492,   0.789522556386007,-0.525336684140187,-0.317294029654353,   0.789522556386007,-0.525336684140187,-0.317294029654353,   0.789522556386007,-0.525336684140187,-0.317294029654353,   0.749933492369097,-0.356706349194894,0.557099934901396,   0.749933492369097,-0.356706349194894,0.557099934901396,   0.749933492369097,-0.356706349194894,0.557099934901396,   0.793671029788365,-0.483704842411957,-0.368938913509946,   0.793671029788365,-0.483704842411957,-0.368938913509946,   0.793671029788365,-0.483704842411957,-0.368938913509946,   0.863893211115335,-0.410845261352937,-0.291366935345574,   0.863893211115335,-0.410845261352937,-0.291366935345574,   0.863893211115335,-0.410845261352937,-0.291366935345574,   0.783032539422597,-0.541749504933903,-0.305560985908328,   0.783032539422597,-0.541749504933903,-0.305560985908328,   0.783032539422597,-0.541749504933903,-0.305560985908328,   0.580028555356688,0.814281284225463,-0.0226465258034266,   0.580028555356688,0.814281284225463,-0.0226465258034266,   0.580028555356688,0.814281284225463,-0.0226465258034266,   0.541221835947584,0.840529942722173,0.0242557143986033,   0.541221835947584,0.840529942722173,0.0242557143986033,   0.541221835947584,0.840529942722173,0.0242557143986033,   -0.412768384926111,-0.906546976265737,-0.0882883923794074,   -0.412768384926111,-0.906546976265737,-0.0882883923794074,   -0.412768384926111,-0.906546976265737,-0.0882883923794074,   -0.6708385780025,-0.685004813242241,-0.284154901591625,   -0.6708385780025,-0.685004813242241,-0.284154901591625,   -0.6708385780025,-0.685004813242241,-0.284154901591625,   0.66845311012511,-0.677852082545248,-0.306083311784778,   0.66845311012511,-0.677852082545248,-0.306083311784778,   0.66845311012511,-0.677852082545248,-0.306083311784778,   0.359396267624677,-0.490901725472371,-0.793630782382904,   0.359396267624677,-0.490901725472371,-0.793630782382904,   0.359396267624677,-0.490901725472371,-0.793630782382904,   -0.735821039891026,0.671660553053102,0.0862525288098252,   -0.735821039891026,0.671660553053102,0.0862525288098252,   -0.735821039891026,0.671660553053102,0.0862525288098252,   -0.583765657132515,0.482603464761372,0.652925381152366,   -0.583765657132515,0.482603464761372,0.652925381152366,   -0.583765657132515,0.482603464761372,0.652925381152366,   0.132088042955001,0.983943244688563,-0.120035162098697,   0.132088042955001,0.983943244688563,-0.120035162098697,   0.132088042955001,0.983943244688563,-0.120035162098697,   0.169481994782381,0.95202840946229,-0.254789640726007,   0.169481994782381,0.95202840946229,-0.254789640726007,   0.169481994782381,0.95202840946229,-0.254789640726007,   0.463430658837438,-0.110708791779051,-0.879190302421678,   0.463430658837438,-0.110708791779051,-0.879190302421678,   0.463430658837438,-0.110708791779051,-0.879190302421678,   0.493185146996036,-0.399958424092058,-0.772529397356694,   0.493185146996036,-0.399958424092058,-0.772529397356694,   0.493185146996036,-0.399958424092058,-0.772529397356694,   -0.702036062536924,0.315760480910274,0.638310806420324,   -0.702036062536924,0.315760480910274,0.638310806420324,   -0.702036062536924,0.315760480910274,0.638310806420324,   -0.50353691994717,0.408006585356092,0.761564965420666,   -0.50353691994717,0.408006585356092,0.761564965420666,   -0.50353691994717,0.408006585356092,0.761564965420666,   -0.377707688183234,0.602800154199055,0.702829194317419,   -0.377707688183234,0.602800154199055,0.702829194317419,   -0.377707688183234,0.602800154199055,0.702829194317419,   -0.6364822045714,0.625405846558531,-0.4513955364803,   -0.6364822045714,0.625405846558531,-0.4513955364803,   -0.6364822045714,0.625405846558531,-0.4513955364803,   -0.458376653758502,0.429371754498307,0.7781585569331,   -0.458376653758502,0.429371754498307,0.7781585569331,   -0.458376653758502,0.429371754498307,0.7781585569331,   -0.605870883781532,0.470890838733101,-0.641234972676181,   -0.605870883781532,0.470890838733101,-0.641234972676181,   -0.605870883781532,0.470890838733101,-0.641234972676181,   -0.622369475278162,0.446333351120112,-0.642995160106105,   -0.622369475278162,0.446333351120112,-0.642995160106105,   -0.622369475278162,0.446333351120112,-0.642995160106105,   -0.682001282843765,-0.0404590064164294,0.730231003860596,   -0.682001282843765,-0.0404590064164294,0.730231003860596,   -0.682001282843765,-0.0404590064164294,0.730231003860596,   -0.976399916647556,0.151946147518495,-0.153478242838957,   -0.976399916647556,0.151946147518495,-0.153478242838957,   -0.976399916647556,0.151946147518495,-0.153478242838957,   -0.500370976124527,0.44312480074803,-0.743820742661972,   -0.500370976124527,0.44312480074803,-0.743820742661972,   -0.500370976124527,0.44312480074803,-0.743820742661972,   -0.586962776246987,0.30738704425284,-0.748991257843462,   -0.586962776246987,0.30738704425284,-0.748991257843462,   -0.586962776246987,0.30738704425284,-0.748991257843462,   -0.758378638689066,-0.645496150619299,-0.0905348547013057,   -0.758378638689066,-0.645496150619299,-0.0905348547013057,   -0.758378638689066,-0.645496150619299,-0.0905348547013057,   0.335313748254341,-0.575817275887664,-0.745653508689481,   0.335313748254341,-0.575817275887664,-0.745653508689481,   0.335313748254341,-0.575817275887664,-0.745653508689481,   0.480378576534427,-0.301284908619189,-0.82368915680922,   0.480378576534427,-0.301284908619189,-0.82368915680922,   0.480378576534427,-0.301284908619189,-0.82368915680922,   0.583347661273738,-0.00647856920733541,-0.812196733696637,   0.583347661273738,-0.00647856920733541,-0.812196733696637,   0.583347661273738,-0.00647856920733541,-0.812196733696637,   0.923821264083638,0.373984169342164,-0.0817931116192566,   0.923821264083638,0.373984169342164,-0.0817931116192566,   0.923821264083638,0.373984169342164,-0.0817931116192566,   0.820442694144713,-0.555132099510126,0.13675575935969,   0.820442694144713,-0.555132099510126,0.13675575935969,   0.820442694144713,-0.555132099510126,0.13675575935969,   0.287235634511055,-0.00472485982988588,0.957848300080248,   0.287235634511055,-0.00472485982988588,0.957848300080248,   0.287235634511055,-0.00472485982988588,0.957848300080248,   0.82297551115636,-0.561821912041203,0.0840681104063517,   0.82297551115636,-0.561821912041203,0.0840681104063517,   0.82297551115636,-0.561821912041203,0.0840681104063517,   0.0680554025707819,-0.326261204425579,0.942826648259212,   0.0680554025707819,-0.326261204425579,0.942826648259212,   0.0680554025707819,-0.326261204425579,0.942826648259212,   -0.0591068726659052,-0.997984240489112,0.0231048336723437,   -0.0591068726659052,-0.997984240489112,0.0231048336723437,   -0.0591068726659052,-0.997984240489112,0.0231048336723437,   0.998155575979275,-0.060542682238591,0.00447546297476088,   0.998155575979275,-0.060542682238591,0.00447546297476088,   0.998155575979275,-0.060542682238591,0.00447546297476088,   0.57885874529286,-0.298819016341654,-0.758702674616732,   0.57885874529286,-0.298819016341654,-0.758702674616732,   0.57885874529286,-0.298819016341654,-0.758702674616732,   0.599029547545958,-0.187717151780525,-0.77841240489492,   0.599029547545958,-0.187717151780525,-0.77841240489492,   0.599029547545958,-0.187717151780525,-0.77841240489492,   -0.999048527610013,-0.042524516629268,0.00968013252559585,   -0.999048527610013,-0.042524516629268,0.00968013252559585,   -0.999048527610013,-0.042524516629268,0.00968013252559585,   0.73287460474032,0.336498161555844,-0.591323770024728,   0.73287460474032,0.336498161555844,-0.591323770024728,   0.73287460474032,0.336498161555844,-0.591323770024728,   0.122875119119786,0.136070552140241,-0.983049596887944,   0.122875119119786,0.136070552140241,-0.983049596887944,   0.122875119119786,0.136070552140241,-0.983049596887944,   0.541523700308053,-0.18183290702267,-0.820785523707844,   0.541523700308053,-0.18183290702267,-0.820785523707844,   0.541523700308053,-0.18183290702267,-0.820785523707844,   0.557520201823922,0.0745798138843283,-0.826806552900491,   0.557520201823922,0.0745798138843283,-0.826806552900491,   0.557520201823922,0.0745798138843283,-0.826806552900491,   0.597356818763974,-0.0455763070744063,-0.800679481009502,   0.597356818763974,-0.0455763070744063,-0.800679481009502,   0.597356818763974,-0.0455763070744063,-0.800679481009502,   -0.00506505630474317,0.999715385121864,0.023312956811016,   -0.00506505630474317,0.999715385121864,0.023312956811016,   -0.00506505630474317,0.999715385121864,0.023312956811016,   0.00509820330696357,0.828410927987508,-0.5600976189147,   0.00509820330696357,0.828410927987508,-0.5600976189147,   0.00509820330696357,0.828410927987508,-0.5600976189147,   0.214420079575408,0.646735732210275,-0.731954180367402,   0.214420079575408,0.646735732210275,-0.731954180367402,   0.214420079575408,0.646735732210275,-0.731954180367402,   0.339505035483694,0.616954611494132,-0.710002350867474,   0.339505035483694,0.616954611494132,-0.710002350867474,   0.339505035483694,0.616954611494132,-0.710002350867474,   0.608965488344068,-0.188887930407128,-0.770378078447449,   0.608965488344068,-0.188887930407128,-0.770378078447449,   0.608965488344068,-0.188887930407128,-0.770378078447449,   0.620584685348957,0.0278636905331745,-0.783644219694249,   0.620584685348957,0.0278636905331745,-0.783644219694249,   0.620584685348957,0.0278636905331745,-0.783644219694249,   0.910559739550291,0.00470953103601869,-0.413350675610343,   0.910559739550291,0.00470953103601869,-0.413350675610343,   0.910559739550291,0.00470953103601869,-0.413350675610343,   0.977892726173421,0.111145050331606,-0.177123103755266,   0.977892726173421,0.111145050331606,-0.177123103755266,   0.977892726173421,0.111145050331606,-0.177123103755266,   0.995498203270241,0.094612098643407,-0.00564606730499131,   0.995498203270241,0.094612098643407,-0.00564606730499131,   0.995498203270241,0.094612098643407,-0.00564606730499131,   0.787802143122971,0.0453183115768182,-0.614258930685326,   0.787802143122971,0.0453183115768182,-0.614258930685326,   0.787802143122971,0.0453183115768182,-0.614258930685326,   0.3567850479816,-0.0130823902077727,-0.934094899142062,   0.3567850479816,-0.0130823902077727,-0.934094899142062,   0.3567850479816,-0.0130823902077727,-0.934094899142062,   0.881256548917116,0.472638187129939,0.000197628994008543,   0.881256548917116,0.472638187129939,0.000197628994008543,   0.881256548917116,0.472638187129939,0.000197628994008543,   0.440140634873418,0.322206747494657,-0.838128291732321,   0.440140634873418,0.322206747494657,-0.838128291732321,   0.440140634873418,0.322206747494657,-0.838128291732321,   -0.99984908258907,0.0163476916371342,-0.00587920266119892,   -0.99984908258907,0.0163476916371342,-0.00587920266119892,   -0.99984908258907,0.0163476916371342,-0.00587920266119892,   0.190563368362847,-0.970105665857852,-0.150268425521461,   0.190563368362847,-0.970105665857852,-0.150268425521461,   0.190563368362847,-0.970105665857852,-0.150268425521461,   -0.435931048258597,0.0106253670314818,-0.899917342170717,   -0.435931048258597,0.0106253670314818,-0.899917342170717,   -0.435931048258597,0.0106253670314818,-0.899917342170717,   -0.999950142411336,-0.00987538803248699,0.00147966305540335,   -0.999950142411336,-0.00987538803248699,0.00147966305540335,   -0.999950142411336,-0.00987538803248699,0.00147966305540335,   -0.949238698822337,-0.0739271231191528,-0.305746092575854,   -0.949238698822337,-0.0739271231191528,-0.305746092575854,   -0.949238698822337,-0.0739271231191528,-0.305746092575854,   -0.91160967917228,-0.0634267284260319,-0.406134020934694,   -0.91160967917228,-0.0634267284260319,-0.406134020934694,   -0.91160967917228,-0.0634267284260319,-0.406134020934694,   -0.424993514798311,0.893667170543065,-0.144012154601375,   -0.424993514798311,0.893667170543065,-0.144012154601375,   -0.424993514798311,0.893667170543065,-0.144012154601375,   -0.922322759778165,-0.0894580093853753,-0.375922852925962,   -0.922322759778165,-0.0894580093853753,-0.375922852925962,   -0.922322759778165,-0.0894580093853753,-0.375922852925962,   0.0386593689392456,-0.999241003426227,0.00478228658343069,   0.0386593689392456,-0.999241003426227,0.00478228658343069,   0.0386593689392456,-0.999241003426227,0.00478228658343069,   0.962912607222243,0.269799619225515,0.00273428568906314,   0.962912607222243,0.269799619225515,0.00273428568906314,   0.962912607222243,0.269799619225515,0.00273428568906314,   0.902916249885402,-0.429658209794823,0.011664838138203,   0.902916249885402,-0.429658209794823,0.011664838138203,   0.902916249885402,-0.429658209794823,0.011664838138203,   0.633385243308923,-0.1952254716349,-0.748805815137294,   0.633385243308923,-0.1952254716349,-0.748805815137294,   0.633385243308923,-0.1952254716349,-0.748805815137294,   0.991766226253104,0.127561865751423,-0.0113014543176378,   0.991766226253104,0.127561865751423,-0.0113014543176378,   0.991766226253104,0.127561865751423,-0.0113014543176378,   0.91708376883872,0.194703580961767,-0.347919353432997,   0.91708376883872,0.194703580961767,-0.347919353432997,   0.91708376883872,0.194703580961767,-0.347919353432997,   0.871920017541094,-0.268231111350678,-0.409643203183843,   0.871920017541094,-0.268231111350678,-0.409643203183843,   0.871920017541094,-0.268231111350678,-0.409643203183843,   0.984577388872058,0.0823106710823844,-0.15437719633368,   0.984577388872058,0.0823106710823844,-0.15437719633368,   0.984577388872058,0.0823106710823844,-0.15437719633368,   0.0637238653839249,-0.997495649296374,-0.0306871082921795,   0.0637238653839249,-0.997495649296374,-0.0306871082921795,   0.0637238653839249,-0.997495649296374,-0.0306871082921795,   0.288805562040992,0.0537550390192742,-0.95587747285634,   0.288805562040992,0.0537550390192742,-0.95587747285634,   0.288805562040992,0.0537550390192742,-0.95587747285634,   0.298335590108571,0.0429633674962836,-0.953493589243237,   0.298335590108571,0.0429633674962836,-0.953493589243237,   0.298335590108571,0.0429633674962836,-0.953493589243237,   0.997412716617348,0.0705640232152362,0.0137328568652583,   0.997412716617348,0.0705640232152362,0.0137328568652583,   0.997412716617348,0.0705640232152362,0.0137328568652583,   0.0891492909745893,-0.174451140667987,-0.980621845278988,   0.0891492909745893,-0.174451140667987,-0.980621845278988,   0.0891492909745893,-0.174451140667987,-0.980621845278988,   -0.969413156707535,0.182393621590741,-0.164227581134676,   -0.969413156707535,0.182393621590741,-0.164227581134676,   -0.969413156707535,0.182393621590741,-0.164227581134676,   -0.960562457504525,-0.220880506575016,-0.168912897814321,   -0.960562457504525,-0.220880506575016,-0.168912897814321,   -0.960562457504525,-0.220880506575016,-0.168912897814321,   -0.0167779201611994,-0.00169151094608484,0.999857809983892,   -0.0167779201611994,-0.00169151094608484,0.999857809983892,   -0.0167779201611994,-0.00169151094608484,0.999857809983892,   0.0034651447311864,0.00863215833757933,0.999956738371429,   0.0034651447311864,0.00863215833757933,0.999956738371429,   0.0034651447311864,0.00863215833757933,0.999956738371429,   -0.991453073628912,0.115144858486471,-0.0613389301823344,   -0.991453073628912,0.115144858486471,-0.0613389301823344,   -0.991453073628912,0.115144858486471,-0.0613389301823344,   -0.994967676746215,-0.100196200967463,-0.000208667022850522,   -0.994967676746215,-0.100196200967463,-0.000208667022850522,   -0.994967676746215,-0.100196200967463,-0.000208667022850522,   0.981511476408003,-0.169528025442341,-0.088856458791709,   0.981511476408003,-0.169528025442341,-0.088856458791709,   0.981511476408003,-0.169528025442341,-0.088856458791709,   0.0874048036837049,0.0771430538074111,-0.993181428311202,   0.0874048036837049,0.0771430538074111,-0.993181428311202,   0.0874048036837049,0.0771430538074111,-0.993181428311202,   -0.0165554044708354,-0.148747119520781,0.988736675266513,   -0.0165554044708354,-0.148747119520781,0.988736675266513,   -0.0165554044708354,-0.148747119520781,0.988736675266513,   0.995957244973859,0.0270449867706398,-0.085660579467196,   0.995957244973859,0.0270449867706398,-0.085660579467196,   0.995957244973859,0.0270449867706398,-0.085660579467196,   -0.00604779920581668,-0.139611084880879,-0.990187946353191,   -0.00604779920581668,-0.139611084880879,-0.990187946353191,   -0.00604779920581668,-0.139611084880879,-0.990187946353191,   -0.00615686847864994,-0.175071971062247,-0.9845363873006,   -0.00615686847864994,-0.175071971062247,-0.9845363873006,   -0.00615686847864994,-0.175071971062247,-0.9845363873006,   0.0448991570274278,-0.998991342162164,0.000603310255285923,   0.0448991570274278,-0.998991342162164,0.000603310255285923,   0.0448991570274278,-0.998991342162164,0.000603310255285923,   -0.00254232618820541,-0.999963234993026,-0.0081893369593742,   -0.00254232618820541,-0.999963234993026,-0.0081893369593742,   -0.00254232618820541,-0.999963234993026,-0.0081893369593742,   0.00618069625168092,-0.164006128138372,0.986439957081476,   0.00618069625168092,-0.164006128138372,0.986439957081476,   0.00618069625168092,-0.164006128138372,0.986439957081476,   0.972634668084523,-0.0687716157494598,-0.221928518463308,   0.972634668084523,-0.0687716157494598,-0.221928518463308,   0.972634668084523,-0.0687716157494598,-0.221928518463308,   0.00736410829740539,-0.999962817758534,-0.00448698221499562,   0.00736410829740539,-0.999962817758534,-0.00448698221499562,   0.00736410829740539,-0.999962817758534,-0.00448698221499562,   0.998959951981338,-0.0436750604777329,0.0130959317999581,   0.998959951981338,-0.0436750604777329,0.0130959317999581,   0.998959951981338,-0.0436750604777329,0.0130959317999581,   -0.0471729744199694,0.0617251806930987,0.996977789397927,   -0.0471729744199694,0.0617251806930987,0.996977789397927,   -0.0471729744199694,0.0617251806930987,0.996977789397927,   -0.00703282551861887,0.132358383800647,0.991176975924535,   -0.00703282551861887,0.132358383800647,0.991176975924535,   -0.00703282551861887,0.132358383800647,0.991176975924535,   0.268427885370811,0.963290759656987,0.00416925830566617,   0.268427885370811,0.963290759656987,0.00416925830566617,   0.268427885370811,0.963290759656987,0.00416925830566617,   0.000868830361844552,0.00947657968331234,-0.999954718760459,   0.000868830361844552,0.00947657968331234,-0.999954718760459,   0.000868830361844552,0.00947657968331234,-0.999954718760459,   0.249921251381247,0.968262302833873,-0.00273514512904899,   0.249921251381247,0.968262302833873,-0.00273514512904899,   0.249921251381247,0.968262302833873,-0.00273514512904899,   0.986603919673692,0.163116001771642,-0.00242397412150935,   0.986603919673692,0.163116001771642,-0.00242397412150935,   0.986603919673692,0.163116001771642,-0.00242397412150935,   0.256376723666508,0.966574190008866,0.002304510952933,   0.256376723666508,0.966574190008866,0.002304510952933,   0.256376723666508,0.966574190008866,0.002304510952933,   -0.019475426163268,0.0933386440322149,-0.995443923737539,   -0.019475426163268,0.0933386440322149,-0.995443923737539,   -0.019475426163268,0.0933386440322149,-0.995443923737539,   0.00110841380816445,0.0428284540979574,-0.999081825947409,   0.00110841380816445,0.0428284540979574,-0.999081825947409,   0.00110841380816445,0.0428284540979574,-0.999081825947409,   -0.00768152417232317,0.131618131300463,-0.991270730779117,   -0.00768152417232317,0.131618131300463,-0.991270730779117,   -0.00768152417232317,0.131618131300463,-0.991270730779117,   -0.000229173265805287,0.119969748090562,-0.99277752141288,   -0.000229173265805287,0.119969748090562,-0.99277752141288,   -0.000229173265805287,0.119969748090562,-0.99277752141288,   -0.988816041722439,0.135933780514853,-0.0613583160403451,   -0.988816041722439,0.135933780514853,-0.0613583160403451,   -0.988816041722439,0.135933780514853,-0.0613583160403451,   -0.995935503463559,0.0822867292703656,-0.0366246792036912,   -0.995935503463559,0.0822867292703656,-0.0366246792036912,   -0.995935503463559,0.0822867292703656,-0.0366246792036912,   -0.00350411012557042,-0.999993411995568,-0.000947194641937724,   -0.00350411012557042,-0.999993411995568,-0.000947194641937724,   -0.00350411012557042,-0.999993411995568,-0.000947194641937724,   -0.0284664278151555,-0.217421426098939,0.97566263942028,   -0.0284664278151555,-0.217421426098939,0.97566263942028,   -0.0284664278151555,-0.217421426098939,0.97566263942028,   0.0785727905627387,-0.379496388288275,0.921850751401407,   0.0785727905627387,-0.379496388288275,0.921850751401407,   0.0785727905627387,-0.379496388288275,0.921850751401407,   0.917291051211142,-0.398206492884313,-0.00295235376152834,   0.917291051211142,-0.398206492884313,-0.00295235376152834,   0.917291051211142,-0.398206492884313,-0.00295235376152834,   0.916908746170635,-0.399088814216444,-0.00254353358650142,   0.916908746170635,-0.399088814216444,-0.00254353358650142,   0.916908746170635,-0.399088814216444,-0.00254353358650142,   0.0353474593933801,-0.998688144619918,0.0370479002111953,   0.0353474593933801,-0.998688144619918,0.0370479002111953,   0.0353474593933801,-0.998688144619918,0.0370479002111953,   0.825551635286577,-0.548641185071647,0.132126255978279,   0.825551635286577,-0.548641185071647,0.132126255978279,   0.825551635286577,-0.548641185071647,0.132126255978279,   -0.0664741695873756,-0.191890407529373,-0.979162528018653,   -0.0664741695873756,-0.191890407529373,-0.979162528018653,   -0.0664741695873756,-0.191890407529373,-0.979162528018653,   0.156414123320157,-0.135387878207746,-0.978368409373683,   0.156414123320157,-0.135387878207746,-0.978368409373683,   0.156414123320157,-0.135387878207746,-0.978368409373683,   0.798934013347328,-0.57398404787527,0.179573815188775,   0.798934013347328,-0.57398404787527,0.179573815188775,   0.798934013347328,-0.57398404787527,0.179573815188775,   0.790829799657268,-0.61086949101567,0.0377715887976884,   0.790829799657268,-0.61086949101567,0.0377715887976884,   0.790829799657268,-0.61086949101567,0.0377715887976884,   0.219118973245542,0.0481261745670764,0.974510516559651,   0.219118973245542,0.0481261745670764,0.974510516559651,   0.219118973245542,0.0481261745670764,0.974510516559651,   0.853740620917764,-0.517616902457793,-0.0565658420334222,   0.853740620917764,-0.517616902457793,-0.0565658420334222,   0.853740620917764,-0.517616902457793,-0.0565658420334222,   0.846339674078143,-0.527148481429816,-0.0763127421047142,   0.846339674078143,-0.527148481429816,-0.0763127421047142,   0.846339674078143,-0.527148481429816,-0.0763127421047142,   0.151441874790763,0.0808389869841557,-0.985155021680971,   0.151441874790763,0.0808389869841557,-0.985155021680971,   0.151441874790763,0.0808389869841557,-0.985155021680971,   0.702900217877552,-0.709717271299765,0.0472512277777483,   0.702900217877552,-0.709717271299765,0.0472512277777483,   0.702900217877552,-0.709717271299765,0.0472512277777483,   0.932626420260472,0.360745614660594,0.00840010329028262,   0.932626420260472,0.360745614660594,0.00840010329028262,   0.932626420260472,0.360745614660594,0.00840010329028262,   0.336747276398146,0.0239861501996505,0.941289507238358,   0.336747276398146,0.0239861501996505,0.941289507238358,   0.336747276398146,0.0239861501996505,0.941289507238358,   0.796945344371229,-0.597044889281978,-0.0917361339238484,   0.796945344371229,-0.597044889281978,-0.0917361339238484,   0.796945344371229,-0.597044889281978,-0.0917361339238484,   0.238600983141768,-0.881264895948329,0.407972736850103,   0.238600983141768,-0.881264895948329,0.407972736850103,   0.238600983141768,-0.881264895948329,0.407972736850103,   0.871387569184883,-0.152026346882885,-0.466445810489821,   0.871387569184883,-0.152026346882885,-0.466445810489821,   0.871387569184883,-0.152026346882885,-0.466445810489821,   0.863136401682007,-0.156731035258481,-0.480032222541615,   0.863136401682007,-0.156731035258481,-0.480032222541615,   0.863136401682007,-0.156731035258481,-0.480032222541615,   0.609538446485621,0.792370306899818,-0.0247422512998277,   0.609538446485621,0.792370306899818,-0.0247422512998277,   0.609538446485621,0.792370306899818,-0.0247422512998277,   -0.603931247286821,0.544182970210643,0.582350361452027,   -0.603931247286821,0.544182970210643,0.582350361452027,   -0.603931247286821,0.544182970210643,0.582350361452027,   -0.545850228550332,0.818430225338668,0.179497894816754,   -0.545850228550332,0.818430225338668,0.179497894816754,   -0.545850228550332,0.818430225338668,0.179497894816754,   0.0839014253129704,0.990219799585043,0.111468826764297,   0.0839014253129704,0.990219799585043,0.111468826764297,   0.0839014253129704,0.990219799585043,0.111468826764297,   -0.69779911866107,0.452555863969272,0.55522029860485,   -0.69779911866107,0.452555863969272,0.55522029860485,   -0.69779911866107,0.452555863969272,0.55522029860485,   -0.696152265494394,0.429267860378808,0.575413874783032,   -0.696152265494394,0.429267860378808,0.575413874783032,   -0.696152265494394,0.429267860378808,0.575413874783032,   0.506474168459834,0.0176490401207573,0.862074491019039,   0.506474168459834,0.0176490401207573,0.862074491019039,   0.506474168459834,0.0176490401207573,0.862074491019039,   -0.726521408968641,0.404210503662018,0.555680223725407,   -0.726521408968641,0.404210503662018,0.555680223725407,   -0.726521408968641,0.404210503662018,0.555680223725407,   0.413346071149794,-0.195560605770949,0.889326191526781,   0.413346071149794,-0.195560605770949,0.889326191526781,   0.413346071149794,-0.195560605770949,0.889326191526781,   -0.830471838414467,0.345272679900557,0.437153636739743,   -0.830471838414467,0.345272679900557,0.437153636739743,   -0.830471838414467,0.345272679900557,0.437153636739743,   0.209814360003548,-0.520442350149898,0.827718366660274,   0.209814360003548,-0.520442350149898,0.827718366660274,   0.209814360003548,-0.520442350149898,0.827718366660274,   0.216775111603343,-0.466104359562431,0.85776178335611,   0.216775111603343,-0.466104359562431,0.85776178335611,   0.216775111603343,-0.466104359562431,0.85776178335611,   -0.852196509815464,-0.477981468259396,0.212825808253918,   -0.852196509815464,-0.477981468259396,0.212825808253918,   -0.852196509815464,-0.477981468259396,0.212825808253918,   -0.831001917583351,-0.479262389062118,0.282388695601056,   -0.831001917583351,-0.479262389062118,0.282388695601056,   -0.831001917583351,-0.479262389062118,0.282388695601056,   -0.586924891970885,0.0429671408482426,-0.808500461343277,   -0.586924891970885,0.0429671408482426,-0.808500461343277,   -0.586924891970885,0.0429671408482426,-0.808500461343277,   -0.392963894793691,0.37687548888874,-0.83877544269217,   -0.392963894793691,0.37687548888874,-0.83877544269217,   -0.392963894793691,0.37687548888874,-0.83877544269217,   -0.272179601992291,0.599386784542557,-0.752764071123917,   -0.272179601992291,0.599386784542557,-0.752764071123917,   -0.272179601992291,0.599386784542557,-0.752764071123917,   -0.569131689164171,0.516751033643963,-0.639576023328762,   -0.569131689164171,0.516751033643963,-0.639576023328762,   -0.569131689164171,0.516751033643963,-0.639576023328762,   -0.496675510854416,0.353898530042377,-0.792508212797413,   -0.496675510854416,0.353898530042377,-0.792508212797413,   -0.496675510854416,0.353898530042377,-0.792508212797413,   -0.82241133065176,0.531813356178812,-0.202025140528177,   -0.82241133065176,0.531813356178812,-0.202025140528177,   -0.82241133065176,0.531813356178812,-0.202025140528177,   -0.851270683195862,0.501670939701837,-0.153832675949965,   -0.851270683195862,0.501670939701837,-0.153832675949965,   -0.851270683195862,0.501670939701837,-0.153832675949965,   -0.609283315960162,0.229953662696501,-0.758877561866902,   -0.609283315960162,0.229953662696501,-0.758877561866902,   -0.609283315960162,0.229953662696501,-0.758877561866902,   -0.880564491509227,0.430829836172942,-0.197463486640677,   -0.880564491509227,0.430829836172942,-0.197463486640677,   -0.880564491509227,0.430829836172942,-0.197463486640677,   0.433893342677852,-0.300620073893569,0.849331583277147,   0.433893342677852,-0.300620073893569,0.849331583277147,   0.433893342677852,-0.300620073893569,0.849331583277147,   0.776127765167144,-0.556521069788017,0.29649619056348,   0.776127765167144,-0.556521069788017,0.29649619056348,   0.776127765167144,-0.556521069788017,0.29649619056348,   0.792640260110816,-0.512034999244029,0.330970659727756,   0.792640260110816,-0.512034999244029,0.330970659727756,   0.792640260110816,-0.512034999244029,0.330970659727756,   0.364840035918355,-0.0614096961413772,0.929042839384125,   0.364840035918355,-0.0614096961413772,0.929042839384125,   0.364840035918355,-0.0614096961413772,0.929042839384125,   0.883563607427254,-0.372648929083245,0.28363379079942,   0.883563607427254,-0.372648929083245,0.28363379079942,   0.883563607427254,-0.372648929083245,0.28363379079942,   0.106059058755821,0.941051992927228,0.321204954294794,   0.106059058755821,0.941051992927228,0.321204954294794,   0.106059058755821,0.941051992927228,0.321204954294794,   0.732043795659863,0.673277850524667,0.103965461711017,   0.732043795659863,0.673277850524667,0.103965461711017,   0.732043795659863,0.673277850524667,0.103965461711017,   0.849298884539547,-0.41403839898533,0.327511234747062,   0.849298884539547,-0.41403839898533,0.327511234747062,   0.849298884539547,-0.41403839898533,0.327511234747062,   -0.733145146118286,0.6644674648458,-0.144848827694922,   -0.733145146118286,0.6644674648458,-0.144848827694922,   -0.733145146118286,0.6644674648458,-0.144848827694922,   -0.733542739727306,0.664169923624129,-0.144199034485245,   -0.733542739727306,0.664169923624129,-0.144199034485245,   -0.733542739727306,0.664169923624129,-0.144199034485245,   0.62539112805762,-0.711914087719416,0.319474989089051,   0.62539112805762,-0.711914087719416,0.319474989089051,   0.62539112805762,-0.711914087719416,0.319474989089051,   0.635482765979248,-0.694792510672459,0.336786313939308,   0.635482765979248,-0.694792510672459,0.336786313939308,   0.635482765979248,-0.694792510672459,0.336786313939308,   -0.486860965909194,-0.865740300014929,0.116017812442865,   -0.486860965909194,-0.865740300014929,0.116017812442865,   -0.486860965909194,-0.865740300014929,0.116017812442865,   -0.787882107434573,-0.603165694357363,-0.124229344097343,   -0.787882107434573,-0.603165694357363,-0.124229344097343,   -0.787882107434573,-0.603165694357363,-0.124229344097343,   -0.875832947226118,0.450285239280654,-0.17366592020076,   -0.875832947226118,0.450285239280654,-0.17366592020076,   -0.875832947226118,0.450285239280654,-0.17366592020076,   0.445352307932366,0.879222124230961,-0.169203363093383,   0.445352307932366,0.879222124230961,-0.169203363093383,   0.445352307932366,0.879222124230961,-0.169203363093383,   0.390456759012071,0.913201105190322,0.116650164256048,   0.390456759012071,0.913201105190322,0.116650164256048,   0.390456759012071,0.913201105190322,0.116650164256048,   0.775092860355971,-0.458029119353513,-0.435247497005376,   0.775092860355971,-0.458029119353513,-0.435247497005376,   0.775092860355971,-0.458029119353513,-0.435247497005376,   0.775913605710004,-0.500957833217815,-0.383404911042899,   0.775913605710004,-0.500957833217815,-0.383404911042899,   0.775913605710004,-0.500957833217815,-0.383404911042899,   0.684286686782121,-0.613044324271458,-0.394877685836133,   0.684286686782121,-0.613044324271458,-0.394877685836133,   0.684286686782121,-0.613044324271458,-0.394877685836133,   0.664583872102298,-0.628399878772945,-0.404279444567325,   0.664583872102298,-0.628399878772945,-0.404279444567325,   0.664583872102298,-0.628399878772945,-0.404279444567325,   -0.82753318085483,-0.526122474532559,0.195918290049766,   -0.82753318085483,-0.526122474532559,0.195918290049766,   -0.82753318085483,-0.526122474532559,0.195918290049766,   -0.773086439258718,0.281327582425684,0.568499910994537,   -0.773086439258718,0.281327582425684,0.568499910994537,   -0.773086439258718,0.281327582425684,0.568499910994537,   -0.744670376143089,0.452446602839009,0.490671073606699,   -0.744670376143089,0.452446602839009,0.490671073606699,   -0.744670376143089,0.452446602839009,0.490671073606699,   -0.60242090993761,0.630846653806042,0.489000558948211,   -0.60242090993761,0.630846653806042,0.489000558948211,   -0.60242090993761,0.630846653806042,0.489000558948211,   -0.648208481488443,0.521784013145923,0.55458742155929,   -0.648208481488443,0.521784013145923,0.55458742155929,   -0.648208481488443,0.521784013145923,0.55458742155929,   0.532725696840242,0.842731185321324,0.0775079429026136,   0.532725696840242,0.842731185321324,0.0775079429026136,   0.532725696840242,0.842731185321324,0.0775079429026136,   -0.162993363595812,-0.526232725367673,0.834573113738895,   -0.162993363595812,-0.526232725367673,0.834573113738895,   -0.162993363595812,-0.526232725367673,0.834573113738895,   0.526918840376499,-0.129415971423964,0.840004786889145,   0.526918840376499,-0.129415971423964,0.840004786889145,   0.526918840376499,-0.129415971423964,0.840004786889145,   -0.737889673932987,0.0192780562936674,0.674645970601329,   -0.737889673932987,0.0192780562936674,0.674645970601329,   -0.737889673932987,0.0192780562936674,0.674645970601329,   -0.305920699670911,-0.92429226836586,-0.228246200739361,   -0.305920699670911,-0.92429226836586,-0.228246200739361,   -0.305920699670911,-0.92429226836586,-0.228246200739361,   -0.598739325033869,-0.774133668671364,0.205495215728743,   -0.598739325033869,-0.774133668671364,0.205495215728743,   -0.598739325033869,-0.774133668671364,0.205495215728743,   0.320470027180946,0.857824438781016,0.401791231746885,   0.320470027180946,0.857824438781016,0.401791231746885,   0.320470027180946,0.857824438781016,0.401791231746885,   -0.723954912566987,0.0214104152603779,0.689514959002707,   -0.723954912566987,0.0214104152603779,0.689514959002707,   -0.723954912566987,0.0214104152603779,0.689514959002707,   0.846415109827385,-0.0226188341032059,-0.532043090547849,   0.846415109827385,-0.0226188341032059,-0.532043090547849,   0.846415109827385,-0.0226188341032059,-0.532043090547849,   0.245313355452815,0.920310674943497,0.304712354888224,   0.245313355452815,0.920310674943497,0.304712354888224,   0.245313355452815,0.920310674943497,0.304712354888224,   -0.30249753075782,-0.921457039986653,-0.243746112470451,   -0.30249753075782,-0.921457039986653,-0.243746112470451,   -0.30249753075782,-0.921457039986653,-0.243746112470451,   0.846021523784418,-0.0814812293807925,-0.526885557357654,   0.846021523784418,-0.0814812293807925,-0.526885557357654,   0.846021523784418,-0.0814812293807925,-0.526885557357654,   0.921652503930423,-0.0108775548715167,-0.387863817336445,   0.921652503930423,-0.0108775548715167,-0.387863817336445,   0.921652503930423,-0.0108775548715167,-0.387863817336445,   -0.730380053308578,-0.125430264425674,0.671425518203668,   -0.730380053308578,-0.125430264425674,0.671425518203668,   -0.730380053308578,-0.125430264425674,0.671425518203668,   0.0515509974097241,-0.969214611068111,0.240760321394855,   0.0515509974097241,-0.969214611068111,0.240760321394855,   0.0515509974097241,-0.969214611068111,0.240760321394855,   0.274103444556555,0.869627653213429,0.410627625043343,   0.274103444556555,0.869627653213429,0.410627625043343,   0.274103444556555,0.869627653213429,0.410627625043343,   0.678823635305102,-0.635967034118888,0.36707547407201,   0.678823635305102,-0.635967034118888,0.36707547407201,   0.678823635305102,-0.635967034118888,0.36707547407201,   0.912362130489106,0.407710198776505,-0.036982923937984,   0.912362130489106,0.407710198776505,-0.036982923937984,   0.912362130489106,0.407710198776505,-0.036982923937984,   -0.138282931840187,0.988389455253457,0.0629612222360446,   -0.138282931840187,0.988389455253457,0.0629612222360446,   -0.138282931840187,0.988389455253457,0.0629612222360446,   -0.291976861929193,0.482940717514959,0.825540898722842,   -0.291976861929193,0.482940717514959,0.825540898722842,   -0.291976861929193,0.482940717514959,0.825540898722842,   -0.274031734677137,0.508171281853815,0.816497738324418,   -0.274031734677137,0.508171281853815,0.816497738324418,   -0.274031734677137,0.508171281853815,0.816497738324418,   0.219405361772769,0.889523205320493,-0.400761468234804,   0.219405361772769,0.889523205320493,-0.400761468234804,   0.219405361772769,0.889523205320493,-0.400761468234804,   0.41695053124278,0.0368066591736033,-0.908183640205461,   0.41695053124278,0.0368066591736033,-0.908183640205461,   0.41695053124278,0.0368066591736033,-0.908183640205461,   0.473071212365023,0.851065935213436,-0.227794648643832,   0.473071212365023,0.851065935213436,-0.227794648643832,   0.473071212365023,0.851065935213436,-0.227794648643832,   0.308912003855154,0.31647886361208,-0.896891578041069,   0.308912003855154,0.31647886361208,-0.896891578041069,   0.308912003855154,0.31647886361208,-0.896891578041069,   -0.670647574707662,0.667583046183355,0.323364665644353,   -0.670647574707662,0.667583046183355,0.323364665644353,   -0.670647574707662,0.667583046183355,0.323364665644353,   0.218044974890804,0.17291790010208,-0.960497677638606,   0.218044974890804,0.17291790010208,-0.960497677638606,   0.218044974890804,0.17291790010208,-0.960497677638606,   0.0448538590578315,0.248843211012286,-0.96750461893508,   0.0448538590578315,0.248843211012286,-0.96750461893508,   0.0448538590578315,0.248843211012286,-0.96750461893508,   0.194647611498274,-0.241590696594552,0.950655690908636,   0.194647611498274,-0.241590696594552,0.950655690908636,   0.194647611498274,-0.241590696594552,0.950655690908636,   -0.160728544606324,-0.441064055528331,0.88296593018623,   -0.160728544606324,-0.441064055528331,0.88296593018623,   -0.160728544606324,-0.441064055528331,0.88296593018623,   -0.59953696494448,0.555265577527801,0.576398790836587,   -0.59953696494448,0.555265577527801,0.576398790836587,   -0.59953696494448,0.555265577527801,0.576398790836587,   0.141641191669752,-0.0332843283903697,0.989358340696623,   0.141641191669752,-0.0332843283903697,0.989358340696623,   0.141641191669752,-0.0332843283903697,0.989358340696623,   0.144873042263766,-0.0253505857253186,0.98912544676023,   0.144873042263766,-0.0253505857253186,0.98912544676023,   0.144873042263766,-0.0253505857253186,0.98912544676023,   0.467628625337189,-0.118299096191721,0.875973054725699,   0.467628625337189,-0.118299096191721,0.875973054725699,   0.467628625337189,-0.118299096191721,0.875973054725699,   -0.756672602063927,0.296544744114943,0.582672968330958,   -0.756672602063927,0.296544744114943,0.582672968330958,   -0.756672602063927,0.296544744114943,0.582672968330958,   0.0325850688468898,-0.0833417775761025,0.995988133161585,   0.0325850688468898,-0.0833417775761025,0.995988133161585,   0.0325850688468898,-0.0833417775761025,0.995988133161585,   0.752242379263017,-0.526041611016672,-0.396751340665284,   0.752242379263017,-0.526041611016672,-0.396751340665284,   0.752242379263017,-0.526041611016672,-0.396751340665284,   -0.0518705325164239,-0.0868315996314989,-0.994871710906435,   -0.0518705325164239,-0.0868315996314989,-0.994871710906435,   -0.0518705325164239,-0.0868315996314989,-0.994871710906435,   -0.103160369934026,-0.161815275898497,-0.981414160566765,   -0.103160369934026,-0.161815275898497,-0.981414160566765,   -0.103160369934026,-0.161815275898497,-0.981414160566765,   0.234783617280574,0.358873994201964,-0.903374844315568,   0.234783617280574,0.358873994201964,-0.903374844315568,   0.234783617280574,0.358873994201964,-0.903374844315568,   0.858157731030207,-0.353043852542071,-0.372726906535254,   0.858157731030207,-0.353043852542071,-0.372726906535254,   0.858157731030207,-0.353043852542071,-0.372726906535254,   -0.0172668770305461,0.000280272064019948,-0.999850877083769,   -0.0172668770305461,0.000280272064019948,-0.999850877083769,   -0.0172668770305461,0.000280272064019948,-0.999850877083769,   0.164257504813471,-0.542343720971031,-0.823943420652018,   0.164257504813471,-0.542343720971031,-0.823943420652018,   0.164257504813471,-0.542343720971031,-0.823943420652018,   0.221788330991659,-0.0742566967000304,0.972263276706024,   0.221788330991659,-0.0742566967000304,0.972263276706024,   0.221788330991659,-0.0742566967000304,0.972263276706024,   -0.0534893953218878,-0.294324302778737,0.954207571433967,   -0.0534893953218878,-0.294324302778737,0.954207571433967,   -0.0534893953218878,-0.294324302778737,0.954207571433967,   0.589226602163578,0.795017023840209,0.144083111803642,   0.589226602163578,0.795017023840209,0.144083111803642,   0.589226602163578,0.795017023840209,0.144083111803642,   -0.48442339813992,-0.871805571197834,0.0727256307156669,   -0.48442339813992,-0.871805571197834,0.0727256307156669,   -0.48442339813992,-0.871805571197834,0.0727256307156669,   -0.525248710214185,-0.850948396056723,0.000787189192713592,   -0.525248710214185,-0.850948396056723,0.000787189192713592,   -0.525248710214185,-0.850948396056723,0.000787189192713592,   -0.0407842241029768,0,-0.999167977401354,   -0.0407842241029768,0,-0.999167977401354,   -0.0407842241029768,0,-0.999167977401354,   0.0345848661724295,-0.998744894359869,0.0362287595968995,   0.0345848661724295,-0.998744894359869,0.0362287595968995,   0.0345848661724295,-0.998744894359869,0.0362287595968995,   -0.794570373282516,-0.602942306511795,-0.0715436714176742,   -0.794570373282516,-0.602942306511795,-0.0715436714176742,   -0.794570373282516,-0.602942306511795,-0.0715436714176742,   0.844720741061456,-0.5340147266246,0.035709121644731,   0.844720741061456,-0.5340147266246,0.035709121644731,   0.844720741061456,-0.5340147266246,0.035709121644731,   -0.270680185975012,-0.327678015316048,-0.905184707780168,   -0.270680185975012,-0.327678015316048,-0.905184707780168,   -0.270680185975012,-0.327678015316048,-0.905184707780168,   0.625093724350871,-0.780516252843962,0.00722598253369304,   0.625093724350871,-0.780516252843962,0.00722598253369304,   0.625093724350871,-0.780516252843962,0.00722598253369304,   0.542867500182193,0.839804433127316,-0.00483646003225324,   0.542867500182193,0.839804433127316,-0.00483646003225324,   0.542867500182193,0.839804433127316,-0.00483646003225324,   0.605375291634607,0.795622930588313,0.0224701713473634,   0.605375291634607,0.795622930588313,0.0224701713473634,   0.605375291634607,0.795622930588313,0.0224701713473634,   -0.539512734407503,-0.841942732326252,0.00764492610458591,   -0.539512734407503,-0.841942732326252,0.00764492610458591,   -0.539512734407503,-0.841942732326252,0.00764492610458591,   0.79222313940267,-0.605562337988457,-0.0753442247616288,   0.79222313940267,-0.605562337988457,-0.0753442247616288,   0.79222313940267,-0.605562337988457,-0.0753442247616288,   0.238135689687107,0.360995324395274,0.901650580359153,   0.238135689687107,0.360995324395274,0.901650580359153,   0.238135689687107,0.360995324395274,0.901650580359153,   0.245912668639129,0.349157210617758,0.904221323391795,   0.245912668639129,0.349157210617758,0.904221323391795,   0.245912668639129,0.349157210617758,0.904221323391795,   0.213769359931465,0.356609785028223,-0.909468043405933,   0.213769359931465,0.356609785028223,-0.909468043405933,   0.213769359931465,0.356609785028223,-0.909468043405933,   -0.234411142682609,-0.382174350057358,-0.893864744994717,   -0.234411142682609,-0.382174350057358,-0.893864744994717,   -0.234411142682609,-0.382174350057358,-0.893864744994717,   -0.24357207917984,-0.363995011933225,0.898988472413157,   -0.24357207917984,-0.363995011933225,0.898988472413157,   -0.24357207917984,-0.363995011933225,0.898988472413157,   -0.258052956622102,-0.341757145488995,0.903665162040567,   -0.258052956622102,-0.341757145488995,0.903665162040567,   -0.258052956622102,-0.341757145488995,0.903665162040567,   -0.20322220218075,-0.380409843667277,0.902213437819369,   -0.20322220218075,-0.380409843667277,0.902213437819369,   -0.20322220218075,-0.380409843667277,0.902213437819369,   -0.127452673509234,0.0967887186337204,0.98711081442794,   -0.127452673509234,0.0967887186337204,0.98711081442794,   -0.127452673509234,0.0967887186337204,0.98711081442794,   0.258281743158795,0.345980083877784,-0.901991309664775,   0.258281743158795,0.345980083877784,-0.901991309664775,   0.258281743158795,0.345980083877784,-0.901991309664775,   0.361696780634141,0.269795418497813,-0.89240454449565,   0.361696780634141,0.269795418497813,-0.89240454449565,   0.361696780634141,0.269795418497813,-0.89240454449565,   -0.138521173625324,0.0998235841639987,-0.985315754721356,   -0.138521173625324,0.0998235841639987,-0.985315754721356,   -0.138521173625324,0.0998235841639987,-0.985315754721356,   -0.588742254390784,-0.808208367422889,-0.0134830531588941,   -0.588742254390784,-0.808208367422889,-0.0134830531588941,   -0.588742254390784,-0.808208367422889,-0.0134830531588941,   -0.769437648466863,-0.638543289148229,-0.0151053965702862,   -0.769437648466863,-0.638543289148229,-0.0151053965702862,   -0.769437648466863,-0.638543289148229,-0.0151053965702862,   0.347099673229459,0.27728768004819,0.895898074190081,   0.347099673229459,0.27728768004819,0.895898074190081,   0.347099673229459,0.27728768004819,0.895898074190081,   0.529684616067148,0.847902858201889,0.0222474842367475,   0.529684616067148,0.847902858201889,0.0222474842367475,   0.529684616067148,0.847902858201889,0.0222474842367475,   -0.212736988827991,-0.396573394260019,-0.893013167063894,   -0.212736988827991,-0.396573394260019,-0.893013167063894,   -0.212736988827991,-0.396573394260019,-0.893013167063894,   -0.749505302145994,-0.661907025617442,0.0109950667716181,   -0.749505302145994,-0.661907025617442,0.0109950667716181,   -0.749505302145994,-0.661907025617442,0.0109950667716181,   0.533613715171439,0.845525631482836,0.0185151150816136,   0.533613715171439,0.845525631482836,0.0185151150816136,   0.533613715171439,0.845525631482836,0.0185151150816136,   0.772895320910891,0.634212189145271,0.0201921285062694,   0.772895320910891,0.634212189145271,0.0201921285062694,   0.772895320910891,0.634212189145271,0.0201921285062694,   0.741260675274858,0.671207354049533,-0.00364680145967556,   0.741260675274858,0.671207354049533,-0.00364680145967556,   0.741260675274858,0.671207354049533,-0.00364680145967556,   -0.157651453428373,0.112977233241348,-0.98101078689332,   -0.157651453428373,0.112977233241348,-0.98101078689332,   -0.157651453428373,0.112977233241348,-0.98101078689332,   -0.19270609259553,0.11835573408872,-0.974092542875102,   -0.19270609259553,0.11835573408872,-0.974092542875102,   -0.19270609259553,0.11835573408872,-0.974092542875102,   -0.203122113252778,0.106596304596136,0.973333773663574,   -0.203122113252778,0.106596304596136,0.973333773663574,   -0.203122113252778,0.106596304596136,0.973333773663574,   -0.649122618290921,-0.760593821660132,0.011698926257313,   -0.649122618290921,-0.760593821660132,0.011698926257313,   -0.649122618290921,-0.760593821660132,0.011698926257313,   -0.124561886347099,0.0948280253565163,0.987669976296048,   -0.124561886347099,0.0948280253565163,0.987669976296048,   -0.124561886347099,0.0948280253565163,0.987669976296048,   -0.627485690615737,-0.778379231430181,-0.019684515504642,   -0.627485690615737,-0.778379231430181,-0.019684515504642,   -0.627485690615737,-0.778379231430181,-0.019684515504642,   -0.995770640082724,0.0913181966048828,-0.0100905558852776,   -0.995770640082724,0.0913181966048828,-0.0100905558852776,   -0.995770640082724,0.0913181966048828,-0.0100905558852776,   -0.0769126534939342,-0.139892780831783,0.987174986313811,   -0.0769126534939342,-0.139892780831783,0.987174986313811,   -0.0769126534939342,-0.139892780831783,0.987174986313811,   -0.007304755764934,-0.0923090841744265,0.995703607265783,   -0.007304755764934,-0.0923090841744265,0.995703607265783,   -0.007304755764934,-0.0923090841744265,0.995703607265783,   0.98499411245697,-0.155383549984388,-0.0751169143359565,   0.98499411245697,-0.155383549984388,-0.0751169143359565,   0.98499411245697,-0.155383549984388,-0.0751169143359565,   0.995836473210668,-0.0910231329432481,0.00495054467044108,   0.995836473210668,-0.0910231329432481,0.00495054467044108,   0.995836473210668,-0.0910231329432481,0.00495054467044108,   -0.018391868865018,-0.0789989290379476,-0.996705025757626,   -0.018391868865018,-0.0789989290379476,-0.996705025757626,   -0.018391868865018,-0.0789989290379476,-0.996705025757626,   -0.0778752803674261,-0.114871258343517,-0.990323197099953,   -0.0778752803674261,-0.114871258343517,-0.990323197099953,   -0.0778752803674261,-0.114871258343517,-0.990323197099953,   0.00698869046987904,-0.179965692800756,-0.9836480608532,   0.00698869046987904,-0.179965692800756,-0.9836480608532,   0.00698869046987904,-0.179965692800756,-0.9836480608532,   -0.99519010631107,0.0569403614929495,-0.0797147886757181,   -0.99519010631107,0.0569403614929495,-0.0797147886757181,   -0.99519010631107,0.0569403614929495,-0.0797147886757181,   0.167220341619055,-0.985912064292313,-0.00384172248816269,   0.167220341619055,-0.985912064292313,-0.00384172248816269,   0.167220341619055,-0.985912064292313,-0.00384172248816269,   -0.995513995331358,0.0945496945340455,0.00349862300261252,   -0.995513995331358,0.0945496945340455,0.00349862300261252,   -0.995513995331358,0.0945496945340455,0.00349862300261252,   0.909725894811109,-0.0896123957403162,-0.405423747256877,   0.909725894811109,-0.0896123957403162,-0.405423747256877,   0.909725894811109,-0.0896123957403162,-0.405423747256877,   0.90715460637412,-0.117491571654246,-0.404062186704509,   0.90715460637412,-0.117491571654246,-0.404062186704509,   0.90715460637412,-0.117491571654246,-0.404062186704509,   0.886383623531802,-0.0629907650940528,-0.458646089536909,   0.886383623531802,-0.0629907650940528,-0.458646089536909,   0.886383623531802,-0.0629907650940528,-0.458646089536909,   0.897421917565913,0.161653267528675,-0.410490100939868,   0.897421917565913,0.161653267528675,-0.410490100939868,   0.897421917565913,0.161653267528675,-0.410490100939868,   0.977269575830896,0.211947888545068,0.00471897198420776,   0.977269575830896,0.211947888545068,0.00471897198420776,   0.977269575830896,0.211947888545068,0.00471897198420776,   -0.438899926013578,0.881406321266445,-0.174613148923065,   -0.438899926013578,0.881406321266445,-0.174613148923065,   -0.438899926013578,0.881406321266445,-0.174613148923065,   0.0305484540078225,0.886546395547701,-0.461630025560633,   0.0305484540078225,0.886546395547701,-0.461630025560633,   0.0305484540078225,0.886546395547701,-0.461630025560633,   0.435944007144943,0.874371012139432,-0.213138818061551,   0.435944007144943,0.874371012139432,-0.213138818061551,   0.435944007144943,0.874371012139432,-0.213138818061551,   -0.03014517301045,0.996182841360915,-0.081920785654586,   -0.03014517301045,0.996182841360915,-0.081920785654586,   -0.03014517301045,0.996182841360915,-0.081920785654586,   0.0876738225729624,-0.996030810165842,-0.015359883978128,   0.0876738225729624,-0.996030810165842,-0.015359883978128,   0.0876738225729624,-0.996030810165842,-0.015359883978128,   -0.00894353969115362,-0.98780123241795,0.155462980581783,   -0.00894353969115362,-0.98780123241795,0.155462980581783,   -0.00894353969115362,-0.98780123241795,0.155462980581783,   0.0122109767673354,-0.996832935179377,-0.0785811134309938,   0.0122109767673354,-0.996832935179377,-0.0785811134309938,   0.0122109767673354,-0.996832935179377,-0.0785811134309938,   -0.0146295950583904,0.542846753534183,-0.839704339113372,   -0.0146295950583904,0.542846753534183,-0.839704339113372,   -0.0146295950583904,0.542846753534183,-0.839704339113372,   0.995089371733684,0.0989779577111653,-0.000711442190225225,   0.995089371733684,0.0989779577111653,-0.000711442190225225,   0.995089371733684,0.0989779577111653,-0.000711442190225225,   0.0267534243156445,0.568219036081162,-0.82244232704937,   0.0267534243156445,0.568219036081162,-0.82244232704937,   0.0267534243156445,0.568219036081162,-0.82244232704937,   0.902912741451457,-0.106849579501234,-0.416331296787815,   0.902912741451457,-0.106849579501234,-0.416331296787815,   0.902912741451457,-0.106849579501234,-0.416331296787815,   0.908504726787064,0.371803848683901,0.190738196251829,   0.908504726787064,0.371803848683901,0.190738196251829,   0.908504726787064,0.371803848683901,0.190738196251829,   0.897498195033451,-0.334867093641638,-0.286986096366532,   0.897498195033451,-0.334867093641638,-0.286986096366532,   0.897498195033451,-0.334867093641638,-0.286986096366532,   0.149147785766972,-0.0766249962760042,-0.985841543021246,   0.149147785766972,-0.0766249962760042,-0.985841543021246,   0.149147785766972,-0.0766249962760042,-0.985841543021246,   0.60494811342005,-0.53795154247569,0.587065514246536,   0.60494811342005,-0.53795154247569,0.587065514246536,   0.60494811342005,-0.53795154247569,0.587065514246536,   0.258608950646381,-0.0722836267041747,0.963273838509107,   0.258608950646381,-0.0722836267041747,0.963273838509107,   0.258608950646381,-0.0722836267041747,0.963273838509107,   0.679464271907078,-0.183895743548847,-0.710289137398567,   0.679464271907078,-0.183895743548847,-0.710289137398567,   0.679464271907078,-0.183895743548847,-0.710289137398567,   -0.471813342169021,-0.4246426243064,-0.772703573030093,   -0.471813342169021,-0.4246426243064,-0.772703573030093,   -0.471813342169021,-0.4246426243064,-0.772703573030093,   0.592406008579179,0.14248015471598,-0.792940430619725,   0.592406008579179,0.14248015471598,-0.792940430619725,   0.592406008579179,0.14248015471598,-0.792940430619725,   0.570379522331544,0.328886953455903,-0.752662322925317,   0.570379522331544,0.328886953455903,-0.752662322925317,   0.570379522331544,0.328886953455903,-0.752662322925317,   0.436772959514251,-0.899152241598595,0.0274704980913054,   0.436772959514251,-0.899152241598595,0.0274704980913054,   0.436772959514251,-0.899152241598595,0.0274704980913054,   0.530547462267722,0.0897249164845151,-0.842893130618067,   0.530547462267722,0.0897249164845151,-0.842893130618067,   0.530547462267722,0.0897249164845151,-0.842893130618067,   0.903837228887187,0.424724278892953,-0.0518415913759591,   0.903837228887187,0.424724278892953,-0.0518415913759591,   0.903837228887187,0.424724278892953,-0.0518415913759591,   0.398832953923074,0.911508303309476,-0.100423542373665,   0.398832953923074,0.911508303309476,-0.100423542373665,   0.398832953923074,0.911508303309476,-0.100423542373665,   0.962748986867813,0.0285571124219876,-0.268884509808798,   0.962748986867813,0.0285571124219876,-0.268884509808798,   0.962748986867813,0.0285571124219876,-0.268884509808798,   0.970871300752191,0.0795889091017016,-0.225996732108564,   0.970871300752191,0.0795889091017016,-0.225996732108564,   0.970871300752191,0.0795889091017016,-0.225996732108564,   0.988129942743646,-0.153249488250642,-0.010668205301486,   0.988129942743646,-0.153249488250642,-0.010668205301486,   0.988129942743646,-0.153249488250642,-0.010668205301486,   0.389892677224319,0.411265651948123,-0.823920059092227,   0.389892677224319,0.411265651948123,-0.823920059092227,   0.389892677224319,0.411265651948123,-0.823920059092227,   0.725247318281809,0.00267125443733969,-0.688483254498448,   0.725247318281809,0.00267125443733969,-0.688483254498448,   0.725247318281809,0.00267125443733969,-0.688483254498448,   0.175343733275912,0.984490177213936,0.00580225560784499,   0.175343733275912,0.984490177213936,0.00580225560784499,   0.175343733275912,0.984490177213936,0.00580225560784499,   0.412945750265207,0.00549205077108412,-0.910739065109339,   0.412945750265207,0.00549205077108412,-0.910739065109339,   0.412945750265207,0.00549205077108412,-0.910739065109339,   0.683395528451951,0.301064250193067,-0.66507959594891,   0.683395528451951,0.301064250193067,-0.66507959594891,   0.683395528451951,0.301064250193067,-0.66507959594891,   0.964251587570701,-0.201947191193027,0.171569833702287,   0.964251587570701,-0.201947191193027,0.171569833702287,   0.964251587570701,-0.201947191193027,0.171569833702287,   0.278590494844285,-0.958722722680913,0.0569041052799711,   0.278590494844285,-0.958722722680913,0.0569041052799711,   0.278590494844285,-0.958722722680913,0.0569041052799711,   0.990033964698936,-0.0797398964895546,0.116078842388872,   0.990033964698936,-0.0797398964895546,0.116078842388872,   0.990033964698936,-0.0797398964895546,0.116078842388872,   0.487823209580962,0.10270656219856,0.866879390847125,   0.487823209580962,0.10270656219856,0.866879390847125,   0.487823209580962,0.10270656219856,0.866879390847125,   0.600624309806172,-0.0352321815964819,-0.79875473823309,   0.600624309806172,-0.0352321815964819,-0.79875473823309,   0.600624309806172,-0.0352321815964819,-0.79875473823309,   0.627226578924759,0.0117127822710526,-0.778748758857319,   0.627226578924759,0.0117127822710526,-0.778748758857319,   0.627226578924759,0.0117127822710526,-0.778748758857319,   0.379789595312881,-0.0540831486193199,0.923490593524102,   0.379789595312881,-0.0540831486193199,0.923490593524102,   0.379789595312881,-0.0540831486193199,0.923490593524102,   0.4796748662774,-0.19501864103275,0.855499709124145,   0.4796748662774,-0.19501864103275,0.855499709124145,   0.4796748662774,-0.19501864103275,0.855499709124145,   0.62781969671926,-0.446351996991216,-0.637661605550538,   0.62781969671926,-0.446351996991216,-0.637661605550538,   0.62781969671926,-0.446351996991216,-0.637661605550538,   0.521011798004357,0.409031843934522,-0.749159300141026,   0.521011798004357,0.409031843934522,-0.749159300141026,   0.521011798004357,0.409031843934522,-0.749159300141026,   0.409870492436014,-0.602667331084726,0.684688445552772,   0.409870492436014,-0.602667331084726,0.684688445552772,   0.409870492436014,-0.602667331084726,0.684688445552772,   0.68189073234618,-0.275540376278437,-0.67757105175821,   0.68189073234618,-0.275540376278437,-0.67757105175821,   0.68189073234618,-0.275540376278437,-0.67757105175821,   0.540617100448512,-0.324327030431929,-0.776237803790727,   0.540617100448512,-0.324327030431929,-0.776237803790727,   0.540617100448512,-0.324327030431929,-0.776237803790727,   0.981558076345824,-0.126086187820709,-0.143687215858357,   0.981558076345824,-0.126086187820709,-0.143687215858357,   0.981558076345824,-0.126086187820709,-0.143687215858357,   0.987795541283528,-0.0896885841714639,-0.127341770404291,   0.987795541283528,-0.0896885841714639,-0.127341770404291,   0.987795541283528,-0.0896885841714639,-0.127341770404291,   0.39995143142882,0.225906973345935,-0.888259473291288,   0.39995143142882,0.225906973345935,-0.888259473291288,   0.39995143142882,0.225906973345935,-0.888259473291288,   0.984549271549091,0.114699360797501,0.132313221277388,   0.984549271549091,0.114699360797501,0.132313221277388,   0.984549271549091,0.114699360797501,0.132313221277388,   0.326285240378683,-0.507364547121369,0.797570785720837,   0.326285240378683,-0.507364547121369,0.797570785720837,   0.326285240378683,-0.507364547121369,0.797570785720837,   0.615652591602061,0.504227799140573,0.605579237612651,   0.615652591602061,0.504227799140573,0.605579237612651,   0.615652591602061,0.504227799140573,0.605579237612651,   0.391179493252546,-0.917781893012916,0.0682275671287639,   0.391179493252546,-0.917781893012916,0.0682275671287639,   0.391179493252546,-0.917781893012916,0.0682275671287639,   0.947649234181226,0.255921870309961,0.190957914873373,   0.947649234181226,0.255921870309961,0.190957914873373,   0.947649234181226,0.255921870309961,0.190957914873373,   0.25150610806638,-0.967082922655499,-0.0386690873101466,   0.25150610806638,-0.967082922655499,-0.0386690873101466,   0.25150610806638,-0.967082922655499,-0.0386690873101466,   0.555174484824742,0.435574208969136,0.708559383453846,   0.555174484824742,0.435574208969136,0.708559383453846,   0.555174484824742,0.435574208969136,0.708559383453846,   0.319293171783206,0.946691541795951,0.0427433637495498,   0.319293171783206,0.946691541795951,0.0427433637495498,   0.319293171783206,0.946691541795951,0.0427433637495498,   0.300401416815873,0.952227883988843,0.0549640403277093,   0.300401416815873,0.952227883988843,0.0549640403277093,   0.300401416815873,0.952227883988843,0.0549640403277093,   0.514425996870227,-0.8553101290527,-0.0617290602870924,   0.514425996870227,-0.8553101290527,-0.0617290602870924,   0.514425996870227,-0.8553101290527,-0.0617290602870924,   -0.418985445494882,0.907983615251922,-0.00411714676747578,   -0.418985445494882,0.907983615251922,-0.00411714676747578,   -0.418985445494882,0.907983615251922,-0.00411714676747578,   -0.0195937961594211,0.438743661697256,-0.898398621143503,   -0.0195937961594211,0.438743661697256,-0.898398621143503,   -0.0195937961594211,0.438743661697256,-0.898398621143503,   -0.227405999739545,0.735858078668423,-0.63780827788676,   -0.227405999739545,0.735858078668423,-0.63780827788676,   -0.227405999739545,0.735858078668423,-0.63780827788676,   -0.262134569815165,0.334493129987061,-0.905207055484698,   -0.262134569815165,0.334493129987061,-0.905207055484698,   -0.262134569815165,0.334493129987061,-0.905207055484698,   0.676838944918957,-0.00840657317730293,-0.736083128572044,   0.676838944918957,-0.00840657317730293,-0.736083128572044,   0.676838944918957,-0.00840657317730293,-0.736083128572044,   0.668622958407119,-0.171926650992935,-0.723453223207462,   0.668622958407119,-0.171926650992935,-0.723453223207462,   0.668622958407119,-0.171926650992935,-0.723453223207462,   0.616201742325991,-0.00206582870410004,-0.787585643029491,   0.616201742325991,-0.00206582870410004,-0.787585643029491,   0.616201742325991,-0.00206582870410004,-0.787585643029491,   -0.072970296913128,-0.659249522608795,-0.748375175101691,   -0.072970296913128,-0.659249522608795,-0.748375175101691,   -0.072970296913128,-0.659249522608795,-0.748375175101691,   -0.449902447199092,-0.126744659528352,-0.884038222751319,   -0.449902447199092,-0.126744659528352,-0.884038222751319,   -0.449902447199092,-0.126744659528352,-0.884038222751319,   -0.273017143202154,0.206587801301086,-0.939565388821511,   -0.273017143202154,0.206587801301086,-0.939565388821511,   -0.273017143202154,0.206587801301086,-0.939565388821511,   -0.856246728800812,-0.0884939357737217,-0.50893060700766,   -0.856246728800812,-0.0884939357737217,-0.50893060700766,   -0.856246728800812,-0.0884939357737217,-0.50893060700766,   -0.798068734439724,0.377955965319373,-0.46929264152475,   -0.798068734439724,0.377955965319373,-0.46929264152475,   -0.798068734439724,0.377955965319373,-0.46929264152475,   -0.356468340464472,0.435837355613751,-0.826423693814569,   -0.356468340464472,0.435837355613751,-0.826423693814569,   -0.356468340464472,0.435837355613751,-0.826423693814569,   -0.00266604312632884,0.125343659064965,0.992109802061372,   -0.00266604312632884,0.125343659064965,0.992109802061372,   -0.00266604312632884,0.125343659064965,0.992109802061372,   0.00149093568565643,-0.999976333591106,0.00671635082987231,   0.00149093568565643,-0.999976333591106,0.00671635082987231,   0.00149093568565643,-0.999976333591106,0.00671635082987231,   0.986333686138874,0.164732906337438,-0.00298816956047533,   0.986333686138874,0.164732906337438,-0.00298816956047533,   0.986333686138874,0.164732906337438,-0.00298816956047533,   -0.518275854582562,-0.399322099633405,-0.756261858949057,   -0.518275854582562,-0.399322099633405,-0.756261858949057,   -0.518275854582562,-0.399322099633405,-0.756261858949057,   0.561788876982698,0.827246109686347,0.00755855193298899,   0.561788876982698,0.827246109686347,0.00755855193298899,   0.561788876982698,0.827246109686347,0.00755855193298899,   0.407708928115054,0.901212946850518,-0.146930780860511,   0.407708928115054,0.901212946850518,-0.146930780860511,   0.407708928115054,0.901212946850518,-0.146930780860511,   -0.0216162653016491,-0.153846712592646,0.987858252027509,   -0.0216162653016491,-0.153846712592646,0.987858252027509,   -0.0216162653016491,-0.153846712592646,0.987858252027509,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 2010 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 2010 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Creature1'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.057777746,-0.087636758,0.026368427,   -0.044938247,-0.087636758,0.026368427,   -0.057777746,-0.071329968,0.026368427,   -0.057777746,-0.087636758,0.026368427,   -0.044938247,-0.11107777,0.026368427,   -0.044938247,-0.087636758,0.026368427,   -0.057777746,-0.071329968,0.026368427,   -0.044938247,-0.087636758,0.026368427,   -0.044938247,-0.071329968,0.026368427,   -0.044938247,-0.071329968,0.026368427,   -0.044938247,-0.066234096,0.026368427,   -0.057777746,-0.071329968,0.026368427,   0.032098748,-0.17630493,0.026368427,   0.012839499,-0.090694282,0.026368427,   -0.032098748,-0.17630493,0.026368427,   -0.032098748,-0.17630493,0.026368427,   -0.012839499,-0.090694282,0.026368427,   -0.044938247,-0.11107777,0.026368427,   -0.032098748,-0.17630493,0.026368427,   0.012839499,-0.090694282,0.026368427,   -0.012839499,-0.090694282,0.026368427,   -0.044938247,-0.11107777,0.026368427,   -0.028888873,-0.094770979,0.026368427,   -0.044938247,-0.087636758,0.026368427,   -0.044938247,-0.11107777,0.026368427,   -0.012839499,-0.090694282,0.026368427,   -0.028888873,-0.094770979,0.026368427,   -0.012839499,-0.074387491,0.026368427,   0.032098748,-0.049927305,0.026368427,   -0.032098748,-0.049927305,0.026368427,   -0.012839499,-0.074387491,0.026368427,   0.012839499,-0.074387491,0.026368427,   0.032098748,-0.049927305,0.026368427,   -0.028888873,-0.070310793,0.026368427,   -0.044938247,-0.066234096,0.026368427,   -0.044938247,-0.071329968,0.026368427,   0.032098748,-0.049927305,0.026368427,   0.028888873,-0.070310793,0.026368427,   0.044938247,-0.066234096,0.026368427,   0.032098748,-0.049927305,0.026368427,   0.012839499,-0.074387491,0.026368427,   0.028888873,-0.070310793,0.026368427,   0.044938247,-0.066234096,0.026368427,   0.044938247,-0.071329968,0.026368427,   0.057777746,-0.071329968,0.026368427,   0.028888873,-0.070310793,0.026368427,   0.044938247,-0.071329968,0.026368427,   0.044938247,-0.066234096,0.026368427,   0.012839499,-0.090694282,0.026368427,   0.044938247,-0.11107777,0.026368427,   0.028888873,-0.094770979,0.026368427,   0.044938247,-0.11107777,0.026368427,   0.057777746,-0.087636758,0.026368427,   0.028888873,-0.094770979,0.026368427,   0.057777746,-0.071329968,0.026368427,   0.044938247,-0.071329968,0.026368427,   0.057777746,-0.087636758,0.026368427,   0.057777746,-0.087636758,0.026368427,   0.044938247,-0.087636758,0.026368427,   0.028888873,-0.094770979,0.026368427,   0.057777746,-0.087636758,0.026368427,   0.044938247,-0.071329968,0.026368427,   0.044938247,-0.087636758,0.026368427,   0.032098748,-0.17630493,0.026368427,   0.044938247,-0.11107777,0.026368427,   0.012839499,-0.090694282,0.026368427,   -0.012839499,-0.090694282,0.026368427,   0.012839499,-0.074387491,0.026368427,   -0.012839499,-0.074387491,0.026368427,   -0.012839499,-0.090694282,0.026368427,   0.012839499,-0.090694282,0.026368427,   0.012839499,-0.074387491,0.026368427,   -0.012839499,-0.074387491,0.026368427,   -0.032098748,-0.049927305,0.026368427,   -0.028888873,-0.070310793,0.026368427,   -0.028888873,-0.070310793,0.026368427,   -0.032098748,-0.049927305,0.026368427,   -0.044938247,-0.066234096,0.026368427,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01986794,0.36819549,   0.054195132,0.368228,   0.019580871,0.41236425,   0.01986794,0.36819549,   0.054261789,0.30602025,   0.054195132,0.368228,   0.019580871,0.41236425,   0.054195132,0.368228,   0.054223585,0.41235226,   0.054223585,0.41235226,   0.054604358,0.42611694,   0.019580871,0.41236425,   0.25735572,0.13651423,   0.20610286,0.36053816,   0.090362857,0.13550796,   0.090362857,0.13550796,   0.13879965,0.36014833,   0.054261789,0.30602025,   0.090362857,0.13550796,   0.20610286,0.36053816,   0.13879965,0.36014833,   0.054261789,0.30602025,   0.096516756,0.34925126,   0.054195132,0.368228,   0.054261789,0.30602025,   0.13879965,0.36014833,   0.096516756,0.34925126,   0.13912591,0.40236063,   0.2532405,0.46583907,   0.090568186,0.46505998,   0.13912591,0.40236063,   0.20533539,0.40269866,   0.2532405,0.46583907,   0.097238327,0.41295212,   0.054604358,0.42611694,   0.054223585,0.41235226,   0.2532405,0.46583907,   0.24702217,0.4136633,   0.28946838,0.42707494,   0.2532405,0.46583907,   0.20533539,0.40269866,   0.24702217,0.4136633,   0.28946838,0.42707494,   0.29003924,0.41332387,   0.32441961,0.41382051,   0.24702217,0.4136633,   0.29003924,0.41332387,   0.28946838,0.42707494,   0.20610286,0.36053816,   0.29126052,0.30745978,   0.24846221,0.35018337,   0.29126052,0.30745978,   0.3247573,0.37011618,   0.24846221,0.35018337,   0.32441961,0.41382051,   0.29003924,0.41332387,   0.3247573,0.37011618,   0.3247573,0.37011618,   0.2906835,0.36968789,   0.24846221,0.35018337,   0.3247573,0.37011618,   0.29003924,0.41332387,   0.2906835,0.36968789,   0.25735572,0.13651423,   0.29126052,0.30745978,   0.20610286,0.36053816,   0.13879965,0.36014833,   0.20533539,0.40269866,   0.13912591,0.40236063,   0.13879965,0.36014833,   0.20610286,0.36053816,   0.20533539,0.40269866,   0.13912591,0.40236063,   0.090568186,0.46505998,   0.097238327,0.41295212,   0.097238327,0.41295212,   0.090568186,0.46505998,   0.054604358,0.42611694,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 78 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 78 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature1'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.044938247,-0.11107777,-0.026368427,   -0.012839499,-0.090694282,-0.026368427,   -0.032098748,-0.17630493,-0.026368427,   -0.044938247,-0.11107777,-0.026368427,   -0.028888873,-0.094770979,-0.026368427,   -0.012839499,-0.090694282,-0.026368427,   -0.044938247,-0.11107777,-0.026368427,   -0.057777746,-0.087636758,-0.026368427,   -0.028888873,-0.094770979,-0.026368427,   -0.032098748,-0.17630493,-0.026368427,   -0.012839499,-0.090694282,-0.026368427,   0.032098748,-0.17630493,-0.026368427,   0.032098748,-0.17630493,-0.026368427,   0.012839499,-0.090694282,-0.026368427,   0.044938247,-0.11107777,-0.026368427,   0.032098748,-0.17630493,-0.026368427,   -0.012839499,-0.090694282,-0.026368427,   0.012839499,-0.090694282,-0.026368427,   0.044938247,-0.11107777,-0.026368427,   0.012839499,-0.090694282,-0.026368427,   0.028888873,-0.094770979,-0.026368427,   0.044938247,-0.11107777,-0.026368427,   0.044938247,-0.087636758,-0.026368427,   0.057777746,-0.087636758,-0.026368427,   0.028888873,-0.094770979,-0.026368427,   0.044938247,-0.087636758,-0.026368427,   0.044938247,-0.11107777,-0.026368427,   0.012839499,-0.074387491,-0.026368427,   -0.032098748,-0.049927305,-0.026368427,   0.032098748,-0.049927305,-0.026368427,   0.012839499,-0.074387491,-0.026368427,   -0.012839499,-0.074387491,-0.026368427,   -0.032098748,-0.049927305,-0.026368427,   0.044938247,-0.066234096,-0.026368427,   0.044938247,-0.071329968,-0.026368427,   0.028888873,-0.070310793,-0.026368427,   -0.032098748,-0.049927305,-0.026368427,   -0.028888873,-0.070310793,-0.026368427,   -0.044938247,-0.066234096,-0.026368427,   -0.032098748,-0.049927305,-0.026368427,   -0.012839499,-0.074387491,-0.026368427,   -0.028888873,-0.070310793,-0.026368427,   -0.044938247,-0.066234096,-0.026368427,   -0.044938247,-0.071329968,-0.026368427,   -0.057777746,-0.071329968,-0.026368427,   -0.028888873,-0.070310793,-0.026368427,   -0.044938247,-0.071329968,-0.026368427,   -0.044938247,-0.066234096,-0.026368427,   -0.057777746,-0.071329968,-0.026368427,   -0.044938247,-0.071329968,-0.026368427,   -0.057777746,-0.087636758,-0.026368427,   -0.057777746,-0.087636758,-0.026368427,   -0.044938247,-0.087636758,-0.026368427,   -0.028888873,-0.094770979,-0.026368427,   -0.057777746,-0.087636758,-0.026368427,   -0.044938247,-0.071329968,-0.026368427,   -0.044938247,-0.087636758,-0.026368427,   0.057777746,-0.087636758,-0.026368427,   0.044938247,-0.087636758,-0.026368427,   0.057777746,-0.071329968,-0.026368427,   0.057777746,-0.071329968,-0.026368427,   0.044938247,-0.071329968,-0.026368427,   0.044938247,-0.066234096,-0.026368427,   0.057777746,-0.071329968,-0.026368427,   0.044938247,-0.087636758,-0.026368427,   0.044938247,-0.071329968,-0.026368427,   0.012839499,-0.090694282,-0.026368427,   -0.012839499,-0.074387491,-0.026368427,   0.012839499,-0.074387491,-0.026368427,   0.012839499,-0.090694282,-0.026368427,   -0.012839499,-0.090694282,-0.026368427,   -0.012839499,-0.074387491,-0.026368427,   0.012839499,-0.074387491,-0.026368427,   0.032098748,-0.049927305,-0.026368427,   0.028888873,-0.070310793,-0.026368427,   0.028888873,-0.070310793,-0.026368427,   0.032098748,-0.049927305,-0.026368427,   0.044938247,-0.066234096,-0.026368427,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.63976826,0.30663925,   0.55480914,0.36004339,   0.60522221,0.13591175,   0.63976826,0.30663925,   0.5971526,0.34953222,   0.55480914,0.36004339,   0.63976826,0.30663925,   0.67352087,0.36908194,   0.5971526,0.34953222,   0.60522221,0.13591175,   0.55480914,0.36004339,   0.43826049,0.13549932,   0.43826049,0.13549932,   0.48751821,0.35993333,   0.40288024,0.30607894,   0.43826049,0.13549932,   0.55480914,0.36004339,   0.48751821,0.35993333,   0.40288024,0.30607894,   0.48751821,0.35993333,   0.44526557,0.34918238,   0.40288024,0.30607894,   0.40299309,0.36832345,   0.36867076,0.36843903,   0.44526557,0.34918238,   0.40299309,0.36832345,   0.40288024,0.30607894,   0.48794565,0.4022057,   0.60252672,0.46509224,   0.43959992,0.46506232,   0.48794565,0.4022057,   0.55422109,0.40219613,   0.60252672,0.46509224,   0.40361209,0.42603121,   0.40320964,0.41229108,   0.44615624,0.41293798,   0.60252672,0.46509224,   0.59601599,0.4129949,   0.63846346,0.42622023,   0.60252672,0.46509224,   0.55422109,0.40219613,   0.59601599,0.4129949,   0.63846346,0.42622023,   0.63891938,0.41248581,   0.67331711,0.41286241,   0.59601599,0.4129949,   0.63891938,0.41248581,   0.63846346,0.42622023,   0.67331711,0.41286241,   0.63891938,0.41248581,   0.67352087,0.36908194,   0.67352087,0.36908194,   0.63945216,0.36881236,   0.5971526,0.34953222,   0.67352087,0.36908194,   0.63891938,0.41248581,   0.63945216,0.36881236,   0.36867076,0.36843903,   0.40299309,0.36832345,   0.3686819,0.4125169,   0.3686819,0.4125169,   0.40320964,0.41229108,   0.40361209,0.42603121,   0.3686819,0.4125169,   0.40299309,0.36832345,   0.40320964,0.41229108,   0.48751821,0.35993333,   0.55422109,0.40219613,   0.48794565,0.4022057,   0.48751821,0.35993333,   0.55480914,0.36004339,   0.55422109,0.40219613,   0.48794565,0.4022057,   0.43959992,0.46506232,   0.44615624,0.41293798,   0.44615624,0.41293798,   0.43959992,0.46506232,   0.40361209,0.42603121,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 78 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 78 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature1'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.032098748,-0.030562991,0.013184214,   0.032098748,-0.030562991,-0.013184214,   -0.032098748,-0.030562991,0.013184214,   -0.032098748,-0.030562991,0.013184214,   0.032098748,-0.030562991,-0.013184214,   -0.032098748,-0.030562991,-0.013184214,   0.019259249,-0.095790154,-0.013184214,   0.019259249,-0.095790154,0.013184214,   0.032098748,-0.095790154,-0.013184214,   0.032098748,-0.095790154,-0.013184214,   0.019259249,-0.095790154,0.013184214,   0.032098748,-0.095790154,0.013184214,   -0.032098748,-0.095790154,-0.013184214,   -0.032098748,-0.095790154,0.013184214,   -0.019259249,-0.095790154,-0.013184214,   -0.019259249,-0.095790154,-0.013184214,   -0.032098748,-0.095790154,0.013184214,   -0.019259249,-0.095790154,0.013184214,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.27039689,0.52564527,   0.27039689,0.59463229,   0.10243867,0.52564527,   0.10243867,0.52564527,   0.27039689,0.59463229,   0.10243867,0.59463229,   0.48577887,0.69914328,   0.48515777,0.63100598,   0.51895676,0.69884085,   0.51895676,0.69884085,   0.48515777,0.63100598,   0.51833566,0.63070355,   0.59509721,0.69978725,   0.59869056,0.63174193,   0.62823031,0.70153694,   0.62823031,0.70153694,   0.59869056,0.63174193,   0.63182366,0.63349163,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature1'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.064197496,-0.17936246,0.013184214,   -0.064197496,-0.1100586,-0.019776321,   -0.064197496,-0.17936246,-0.013184214,   -0.064197496,-0.17936246,0.013184214,   -0.064197496,-0.1100586,0.019776321,   -0.064197496,-0.1100586,-0.019776321,   -0.064197496,-0.073368317,-0.019776321,   -0.064197496,-0.052984828,0.013184214,   -0.064197496,-0.052984828,-0.013184214,   -0.064197496,-0.073368317,-0.019776321,   -0.064197496,-0.073368317,0.019776321,   -0.064197496,-0.052984828,0.013184214,   0.038518497,-0.087636758,-0.013184214,   0.038518497,-0.087636758,0.013184214,   0.038518497,-0.071329968,-0.013184214,   0.038518497,-0.071329968,-0.013184214,   0.038518497,-0.087636758,0.013184214,   0.038518497,-0.071329968,0.013184214,   -0.012839499,-0.087636758,-0.013184214,   -0.012839499,-0.071329968,-0.013184214,   -0.012839499,-0.090694282,-0.026368427,   -0.012839499,-0.087636758,-0.013184214,   -0.012839499,-0.087636758,0.013184214,   -0.012839499,-0.071329968,-0.013184214,   -0.012839499,-0.071329968,-0.013184214,   -0.012839499,-0.087636758,0.013184214,   -0.012839499,-0.071329968,0.013184214,   -0.012839499,-0.071329968,0.013184214,   -0.012839499,-0.087636758,0.013184214,   -0.012839499,-0.074387491,0.026368427,   -0.064197496,-0.1100586,-0.019776321,   -0.064197496,-0.073368317,0.019776321,   -0.064197496,-0.073368317,-0.019776321,   -0.064197496,-0.1100586,-0.019776321,   -0.064197496,-0.1100586,0.019776321,   -0.064197496,-0.073368317,0.019776321,   -0.012839499,-0.090694282,-0.026368427,   -0.012839499,-0.071329968,-0.013184214,   -0.012839499,-0.074387491,-0.026368427,   -0.012839499,-0.074387491,0.026368427,   -0.012839499,-0.087636758,0.013184214,   -0.012839499,-0.090694282,0.026368427,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.80954947,0.14950708,   0.72104082,0.32972542,   0.74056791,0.14863894,   0.80954947,0.14950708,   0.82451316,0.33102762,   0.72104082,0.32972542,   0.71983286,0.42570963,   0.80538872,0.48011936,   0.73640716,0.47925122,   0.71983286,0.42570963,   0.8233052,0.42701183,   0.80538872,0.48011936,   0.36108979,0.62173031,   0.42994424,0.62600502,   0.35844622,0.66431136,   0.35844622,0.66431136,   0.42994424,0.62600502,   0.42730067,0.66858607,   0.68519504,0.62187645,   0.68556703,0.66453196,   0.65031641,0.61472564,   0.68519504,0.62187645,   0.75455906,0.62186971,   0.68556703,0.66453196,   0.68556703,0.66453196,   0.75455906,0.62186971,   0.75416969,0.66452706,   0.75416969,0.66452706,   0.75455906,0.62186971,   0.78869107,0.65735388,   0.72104082,0.32972542,   0.8233052,0.42701183,   0.71983286,0.42570963,   0.72104082,0.32972542,   0.82451316,0.33102762,   0.8233052,0.42701183,   0.65031641,0.61472564,   0.68556703,0.66453196,   0.65109882,0.65737863,   0.78869107,0.65735388,   0.75455906,0.62186971,   0.78937866,0.61469732,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 42 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 42 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature1'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.032098748,-0.22624448,0.013184214,   -0.032098748,-0.22624448,-0.013184214,   0.032098748,-0.22624448,0.013184214,   0.032098748,-0.22624448,0.013184214,   -0.032098748,-0.22624448,-0.013184214,   0.032098748,-0.22624448,-0.013184214,   0.032098748,-0.063176572,-0.013184214,   0.032098748,-0.063176572,0.013184214,   0.019259249,-0.063176572,-0.013184214,   0.019259249,-0.063176572,-0.013184214,   0.032098748,-0.063176572,0.013184214,   0.019259249,-0.063176572,0.013184214,   -0.019259249,-0.063176572,-0.013184214,   -0.019259249,-0.063176572,0.013184214,   -0.032098748,-0.063176572,-0.013184214,   -0.032098748,-0.063176572,-0.013184214,   -0.019259249,-0.063176572,0.013184214,   -0.032098748,-0.063176572,0.013184214,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.54079378,0.52564527,   0.54079378,0.59463229,   0.37283556,0.52564527,   0.37283556,0.52564527,   0.54079378,0.59463229,   0.37283556,0.59463229,   0.11711823,0.7033999,   0.12065226,0.63617353,   0.14985256,0.70512071,   0.14985256,0.70512071,   0.12065226,0.63617353,   0.15338659,0.63789435,   0.017060514,0.70603421,   0.016655373,0.63871624,   0.049839452,0.70583694,   0.049839452,0.70583694,   0.016655373,0.63871624,   0.049434312,0.63851897,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature1'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.064197496,-0.073368317,0.019776321,   0.064197496,-0.073368317,-0.019776321,   0.064197496,-0.052984828,0.013184214,   0.064197496,-0.052984828,0.013184214,   0.064197496,-0.073368317,-0.019776321,   0.064197496,-0.052984828,-0.013184214,   0.064197496,-0.1100586,-0.019776321,   0.064197496,-0.17936246,0.013184214,   0.064197496,-0.17936246,-0.013184214,   0.064197496,-0.1100586,-0.019776321,   0.064197496,-0.1100586,0.019776321,   0.064197496,-0.17936246,0.013184214,   0.012839499,-0.071329968,-0.013184214,   0.012839499,-0.087636758,-0.013184214,   0.012839499,-0.074387491,-0.026368427,   0.012839499,-0.071329968,-0.013184214,   0.012839499,-0.071329968,0.013184214,   0.012839499,-0.087636758,-0.013184214,   0.012839499,-0.087636758,-0.013184214,   0.012839499,-0.071329968,0.013184214,   0.012839499,-0.087636758,0.013184214,   0.012839499,-0.087636758,0.013184214,   0.012839499,-0.071329968,0.013184214,   0.012839499,-0.074387491,0.026368427,   -0.038518497,-0.071329968,-0.013184214,   -0.038518497,-0.071329968,0.013184214,   -0.038518497,-0.087636758,-0.013184214,   -0.038518497,-0.087636758,-0.013184214,   -0.038518497,-0.071329968,0.013184214,   -0.038518497,-0.087636758,0.013184214,   0.064197496,-0.073368317,0.019776321,   0.064197496,-0.1100586,-0.019776321,   0.064197496,-0.073368317,-0.019776321,   0.064197496,-0.073368317,0.019776321,   0.064197496,-0.1100586,0.019776321,   0.064197496,-0.1100586,-0.019776321,   0.012839499,-0.074387491,-0.026368427,   0.012839499,-0.087636758,-0.013184214,   0.012839499,-0.090694282,-0.026368427,   0.012839499,-0.090694282,0.026368427,   0.012839499,-0.087636758,0.013184214,   0.012839499,-0.074387491,0.026368427,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.87238861,0.42701183,   0.97586095,0.42570963,   0.89030509,0.48011936,   0.89030509,0.48011936,   0.97586095,0.42570963,   0.95928665,0.47925122,   0.97465299,0.32972542,   0.88614433,0.14950708,   0.95512589,0.14863894,   0.97465299,0.32972542,   0.87118065,0.33102762,   0.88614433,0.14950708,   0.89237509,0.66560913,   0.89343249,0.62296515,   0.92695263,0.65901128,   0.89237509,0.66560913,   0.82378115,0.66451696,   0.89343249,0.62296515,   0.89343249,0.62296515,   0.82378115,0.66451696,   0.82407731,0.62185886,   0.82407731,0.62185886,   0.82378115,0.66451696,   0.78937866,0.65678958,   0.27921935,0.66858607,   0.21036489,0.66431136,   0.28186292,0.62600502,   0.28186292,0.62600502,   0.21036489,0.66431136,   0.21300846,0.62173031,   0.87238861,0.42701183,   0.97465299,0.32972542,   0.97586095,0.42570963,   0.87238861,0.42701183,   0.87118065,0.33102762,   0.97465299,0.32972542,   0.92695263,0.65901128,   0.89343249,0.62296515,   0.92842321,0.61637587,   0.78937866,0.61412793,   0.82407731,0.62185886,   0.78937866,0.65678958,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 42 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 42 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature1'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.064197496,-0.073368317,0.019776321,   0.057777746,-0.087636758,0.026368427,   0.064197496,-0.1100586,0.019776321,   0.064197496,-0.052984828,0.013184214,   0.032098748,-0.030562991,-0.013184214,   0.032098748,-0.030562991,0.013184214,   0.064197496,-0.052984828,-0.013184214,   0.032098748,-0.030562991,-0.013184214,   0.064197496,-0.052984828,0.013184214,   0.064197496,-0.052984828,0.013184214,   0.044938247,-0.066234096,0.026368427,   0.064197496,-0.073368317,0.019776321,   0.064197496,-0.052984828,-0.013184214,   0.032098748,-0.049927305,-0.026368427,   0.032098748,-0.030562991,-0.013184214,   0.064197496,-0.073368317,-0.019776321,   0.044938247,-0.066234096,-0.026368427,   0.064197496,-0.052984828,-0.013184214,   0.064197496,-0.073368317,-0.019776321,   0.057777746,-0.071329968,-0.026368427,   0.044938247,-0.066234096,-0.026368427,   0.064197496,-0.1100586,-0.019776321,   0.057777746,-0.071329968,-0.026368427,   0.064197496,-0.073368317,-0.019776321,   0.064197496,-0.17936246,-0.013184214,   0.044938247,-0.11107777,-0.026368427,   0.064197496,-0.1100586,-0.019776321,   0.064197496,-0.17936246,0.013184214,   0.032098748,-0.22624448,0.013184214,   0.064197496,-0.17936246,-0.013184214,   0.032098748,-0.22624448,0.013184214,   0.032098748,-0.22624448,-0.013184214,   0.064197496,-0.17936246,-0.013184214,   0.064197496,-0.17936246,0.013184214,   0.032098748,-0.17630493,0.026368427,   0.032098748,-0.22624448,0.013184214,   0.064197496,-0.17936246,0.013184214,   0.044938247,-0.11107777,0.026368427,   0.032098748,-0.17630493,0.026368427,   0.064197496,-0.1100586,0.019776321,   0.044938247,-0.11107777,0.026368427,   0.064197496,-0.17936246,0.013184214,   0.064197496,-0.1100586,0.019776321,   0.057777746,-0.087636758,0.026368427,   0.044938247,-0.11107777,0.026368427,   -0.032098748,-0.22624448,0.013184214,   -0.064197496,-0.17936246,0.013184214,   -0.032098748,-0.22624448,-0.013184214,   -0.064197496,-0.17936246,0.013184214,   -0.064197496,-0.17936246,-0.013184214,   -0.032098748,-0.22624448,-0.013184214,   -0.032098748,-0.22624448,0.013184214,   -0.032098748,-0.17630493,0.026368427,   -0.064197496,-0.17936246,0.013184214,   0.032098748,-0.22624448,0.013184214,   -0.032098748,-0.17630493,0.026368427,   -0.032098748,-0.22624448,0.013184214,   0.032098748,-0.17630493,0.026368427,   -0.032098748,-0.17630493,0.026368427,   0.032098748,-0.22624448,0.013184214,   0.032098748,-0.22624448,-0.013184214,   0.032098748,-0.17630493,-0.026368427,   0.064197496,-0.17936246,-0.013184214,   -0.032098748,-0.22624448,-0.013184214,   0.032098748,-0.17630493,-0.026368427,   0.032098748,-0.22624448,-0.013184214,   -0.032098748,-0.17630493,-0.026368427,   0.032098748,-0.17630493,-0.026368427,   -0.032098748,-0.22624448,-0.013184214,   0.032098748,-0.030562991,0.013184214,   0.032098748,-0.049927305,0.026368427,   0.064197496,-0.052984828,0.013184214,   -0.032098748,-0.030562991,0.013184214,   0.032098748,-0.049927305,0.026368427,   0.032098748,-0.030562991,0.013184214,   -0.032098748,-0.049927305,0.026368427,   0.032098748,-0.049927305,0.026368427,   -0.032098748,-0.030562991,0.013184214,   -0.032098748,-0.030562991,-0.013184214,   -0.064197496,-0.052984828,-0.013184214,   -0.032098748,-0.030562991,0.013184214,   -0.064197496,-0.052984828,-0.013184214,   -0.064197496,-0.052984828,0.013184214,   -0.032098748,-0.030562991,0.013184214,   -0.032098748,-0.030562991,-0.013184214,   -0.032098748,-0.049927305,-0.026368427,   -0.064197496,-0.052984828,-0.013184214,   0.032098748,-0.030562991,-0.013184214,   -0.032098748,-0.049927305,-0.026368427,   -0.032098748,-0.030562991,-0.013184214,   0.032098748,-0.049927305,-0.026368427,   -0.032098748,-0.049927305,-0.026368427,   0.032098748,-0.030562991,-0.013184214,   -0.064197496,-0.17936246,0.013184214,   -0.044938247,-0.11107777,0.026368427,   -0.064197496,-0.1100586,0.019776321,   -0.064197496,-0.17936246,-0.013184214,   -0.032098748,-0.17630493,-0.026368427,   -0.032098748,-0.22624448,-0.013184214,   -0.064197496,-0.1100586,-0.019776321,   -0.044938247,-0.11107777,-0.026368427,   -0.064197496,-0.17936246,-0.013184214,   -0.064197496,-0.1100586,-0.019776321,   -0.057777746,-0.087636758,-0.026368427,   -0.044938247,-0.11107777,-0.026368427,   -0.064197496,-0.073368317,-0.019776321,   -0.057777746,-0.087636758,-0.026368427,   -0.064197496,-0.1100586,-0.019776321,   -0.064197496,-0.052984828,-0.013184214,   -0.044938247,-0.066234096,-0.026368427,   -0.064197496,-0.073368317,-0.019776321,   -0.064197496,-0.052984828,0.013184214,   -0.032098748,-0.049927305,0.026368427,   -0.032098748,-0.030562991,0.013184214,   -0.064197496,-0.073368317,0.019776321,   -0.044938247,-0.066234096,0.026368427,   -0.064197496,-0.052984828,0.013184214,   -0.064197496,-0.1100586,0.019776321,   -0.057777746,-0.071329968,0.026368427,   -0.064197496,-0.073368317,0.019776321,   -0.064197496,-0.1100586,0.019776321,   -0.044938247,-0.11107777,0.026368427,   -0.057777746,-0.087636758,0.026368427,   -0.044938247,-0.11107777,-0.026368427,   -0.032098748,-0.17630493,-0.026368427,   -0.064197496,-0.17936246,-0.013184214,   0.032098748,-0.17630493,-0.026368427,   0.044938247,-0.11107777,-0.026368427,   0.064197496,-0.17936246,-0.013184214,   0.044938247,-0.11107777,-0.026368427,   0.057777746,-0.087636758,-0.026368427,   0.064197496,-0.1100586,-0.019776321,   0.028888873,-0.094770979,-0.026368427,   0.032098748,-0.095790154,-0.013184214,   0.044938247,-0.087636758,-0.026368427,   0.012839499,-0.090694282,-0.026368427,   0.032098748,-0.095790154,-0.013184214,   0.028888873,-0.094770979,-0.026368427,   0.028888873,-0.070310793,-0.026368427,   0.019259249,-0.063176572,-0.013184214,   0.012839499,-0.074387491,-0.026368427,   0.044938247,-0.066234096,-0.026368427,   0.032098748,-0.049927305,-0.026368427,   0.064197496,-0.052984828,-0.013184214,   -0.032098748,-0.049927305,-0.026368427,   -0.044938247,-0.066234096,-0.026368427,   -0.064197496,-0.052984828,-0.013184214,   -0.044938247,-0.066234096,-0.026368427,   -0.057777746,-0.071329968,-0.026368427,   -0.064197496,-0.073368317,-0.019776321,   -0.028888873,-0.070310793,-0.026368427,   -0.032098748,-0.063176572,-0.013184214,   -0.044938247,-0.071329968,-0.026368427,   -0.012839499,-0.074387491,-0.026368427,   -0.032098748,-0.063176572,-0.013184214,   -0.028888873,-0.070310793,-0.026368427,   -0.012839499,-0.090694282,-0.026368427,   -0.019259249,-0.095790154,-0.013184214,   -0.012839499,-0.087636758,-0.013184214,   -0.028888873,-0.094770979,-0.026368427,   -0.019259249,-0.095790154,-0.013184214,   -0.012839499,-0.090694282,-0.026368427,   -0.057777746,-0.087636758,0.026368427,   -0.057777746,-0.071329968,0.026368427,   -0.064197496,-0.1100586,0.019776321,   -0.057777746,-0.071329968,0.026368427,   -0.044938247,-0.066234096,0.026368427,   -0.064197496,-0.073368317,0.019776321,   -0.044938247,-0.071329968,0.026368427,   -0.038518497,-0.071329968,0.013184214,   -0.028888873,-0.070310793,0.026368427,   -0.044938247,-0.087636758,0.026368427,   -0.038518497,-0.071329968,0.013184214,   -0.044938247,-0.071329968,0.026368427,   -0.038518497,-0.087636758,0.013184214,   -0.038518497,-0.071329968,0.013184214,   -0.044938247,-0.087636758,0.026368427,   -0.044938247,-0.087636758,0.026368427,   -0.032098748,-0.095790154,0.013184214,   -0.038518497,-0.087636758,0.013184214,   -0.032098748,-0.17630493,0.026368427,   -0.044938247,-0.11107777,0.026368427,   -0.064197496,-0.17936246,0.013184214,   -0.028888873,-0.094770979,0.026368427,   -0.032098748,-0.095790154,0.013184214,   -0.044938247,-0.087636758,0.026368427,   -0.012839499,-0.090694282,0.026368427,   -0.032098748,-0.095790154,0.013184214,   -0.028888873,-0.094770979,0.026368427,   -0.012839499,-0.074387491,0.026368427,   -0.019259249,-0.063176572,0.013184214,   -0.012839499,-0.071329968,0.013184214,   -0.028888873,-0.070310793,0.026368427,   -0.019259249,-0.063176572,0.013184214,   -0.012839499,-0.074387491,0.026368427,   -0.028888873,-0.070310793,0.026368427,   -0.038518497,-0.071329968,0.013184214,   -0.032098748,-0.063176572,0.013184214,   -0.044938247,-0.066234096,0.026368427,   -0.032098748,-0.049927305,0.026368427,   -0.064197496,-0.052984828,0.013184214,   0.032098748,-0.049927305,0.026368427,   0.044938247,-0.066234096,0.026368427,   0.064197496,-0.052984828,0.013184214,   0.044938247,-0.066234096,0.026368427,   0.057777746,-0.071329968,0.026368427,   0.064197496,-0.073368317,0.019776321,   0.028888873,-0.070310793,0.026368427,   0.032098748,-0.063176572,0.013184214,   0.044938247,-0.071329968,0.026368427,   0.012839499,-0.074387491,0.026368427,   0.032098748,-0.063176572,0.013184214,   0.028888873,-0.070310793,0.026368427,   0.012839499,-0.074387491,0.026368427,   0.012839499,-0.071329968,0.013184214,   0.019259249,-0.063176572,0.013184214,   0.012839499,-0.090694282,0.026368427,   0.019259249,-0.095790154,0.013184214,   0.012839499,-0.087636758,0.013184214,   0.028888873,-0.094770979,0.026368427,   0.019259249,-0.095790154,0.013184214,   0.012839499,-0.090694282,0.026368427,   -0.057777746,-0.071329968,-0.026368427,   -0.057777746,-0.087636758,-0.026368427,   -0.064197496,-0.073368317,-0.019776321,   -0.044938247,-0.087636758,-0.026368427,   -0.038518497,-0.087636758,-0.013184214,   -0.028888873,-0.094770979,-0.026368427,   -0.044938247,-0.071329968,-0.026368427,   -0.038518497,-0.087636758,-0.013184214,   -0.044938247,-0.087636758,-0.026368427,   -0.038518497,-0.071329968,-0.013184214,   -0.038518497,-0.087636758,-0.013184214,   -0.044938247,-0.071329968,-0.026368427,   0.057777746,-0.087636758,-0.026368427,   0.057777746,-0.071329968,-0.026368427,   0.064197496,-0.1100586,-0.019776321,   0.044938247,-0.071329968,-0.026368427,   0.038518497,-0.071329968,-0.013184214,   0.028888873,-0.070310793,-0.026368427,   0.044938247,-0.087636758,-0.026368427,   0.038518497,-0.071329968,-0.013184214,   0.044938247,-0.071329968,-0.026368427,   0.038518497,-0.087636758,-0.013184214,   0.038518497,-0.071329968,-0.013184214,   0.044938247,-0.087636758,-0.026368427,   0.044938247,-0.087636758,-0.026368427,   0.032098748,-0.095790154,-0.013184214,   0.038518497,-0.087636758,-0.013184214,   0.057777746,-0.071329968,0.026368427,   0.057777746,-0.087636758,0.026368427,   0.064197496,-0.073368317,0.019776321,   0.044938247,-0.087636758,0.026368427,   0.038518497,-0.087636758,0.013184214,   0.028888873,-0.094770979,0.026368427,   0.044938247,-0.071329968,0.026368427,   0.038518497,-0.087636758,0.013184214,   0.044938247,-0.087636758,0.026368427,   0.038518497,-0.071329968,0.013184214,   0.038518497,-0.087636758,0.013184214,   0.044938247,-0.071329968,0.026368427,   0.044938247,-0.071329968,0.026368427,   0.032098748,-0.063176572,0.013184214,   0.038518497,-0.071329968,0.013184214,   0.038518497,-0.087636758,-0.013184214,   0.032098748,-0.095790154,-0.013184214,   0.038518497,-0.087636758,0.013184214,   0.032098748,-0.095790154,-0.013184214,   0.032098748,-0.095790154,0.013184214,   0.038518497,-0.087636758,0.013184214,   0.038518497,-0.071329968,-0.013184214,   0.032098748,-0.063176572,-0.013184214,   0.028888873,-0.070310793,-0.026368427,   0.038518497,-0.071329968,-0.013184214,   0.032098748,-0.063176572,0.013184214,   0.032098748,-0.063176572,-0.013184214,   0.038518497,-0.071329968,0.013184214,   0.032098748,-0.063176572,0.013184214,   0.038518497,-0.071329968,-0.013184214,   0.038518497,-0.087636758,0.013184214,   0.032098748,-0.095790154,0.013184214,   0.028888873,-0.094770979,0.026368427,   0.032098748,-0.063176572,-0.013184214,   0.019259249,-0.063176572,-0.013184214,   0.028888873,-0.070310793,-0.026368427,   0.019259249,-0.063176572,-0.013184214,   0.012839499,-0.071329968,-0.013184214,   0.012839499,-0.074387491,-0.026368427,   0.019259249,-0.063176572,-0.013184214,   0.012839499,-0.071329968,0.013184214,   0.012839499,-0.071329968,-0.013184214,   0.019259249,-0.063176572,0.013184214,   0.012839499,-0.071329968,0.013184214,   0.019259249,-0.063176572,-0.013184214,   0.019259249,-0.063176572,0.013184214,   0.032098748,-0.063176572,0.013184214,   0.012839499,-0.074387491,0.026368427,   0.012839499,-0.087636758,-0.013184214,   0.019259249,-0.095790154,-0.013184214,   0.012839499,-0.090694282,-0.026368427,   0.012839499,-0.087636758,-0.013184214,   0.019259249,-0.095790154,0.013184214,   0.019259249,-0.095790154,-0.013184214,   0.012839499,-0.087636758,0.013184214,   0.019259249,-0.095790154,0.013184214,   0.012839499,-0.087636758,-0.013184214,   0.019259249,-0.095790154,-0.013184214,   0.032098748,-0.095790154,-0.013184214,   0.012839499,-0.090694282,-0.026368427,   0.032098748,-0.095790154,0.013184214,   0.019259249,-0.095790154,0.013184214,   0.028888873,-0.094770979,0.026368427,   -0.012839499,-0.087636758,-0.013184214,   -0.019259249,-0.095790154,-0.013184214,   -0.012839499,-0.087636758,0.013184214,   -0.019259249,-0.095790154,-0.013184214,   -0.019259249,-0.095790154,0.013184214,   -0.012839499,-0.087636758,0.013184214,   -0.012839499,-0.071329968,-0.013184214,   -0.019259249,-0.063176572,-0.013184214,   -0.012839499,-0.074387491,-0.026368427,   -0.012839499,-0.071329968,-0.013184214,   -0.019259249,-0.063176572,0.013184214,   -0.019259249,-0.063176572,-0.013184214,   -0.012839499,-0.071329968,0.013184214,   -0.019259249,-0.063176572,0.013184214,   -0.012839499,-0.071329968,-0.013184214,   -0.012839499,-0.087636758,0.013184214,   -0.019259249,-0.095790154,0.013184214,   -0.012839499,-0.090694282,0.026368427,   -0.019259249,-0.063176572,-0.013184214,   -0.032098748,-0.063176572,-0.013184214,   -0.012839499,-0.074387491,-0.026368427,   -0.032098748,-0.063176572,-0.013184214,   -0.038518497,-0.071329968,-0.013184214,   -0.044938247,-0.071329968,-0.026368427,   -0.032098748,-0.063176572,-0.013184214,   -0.038518497,-0.071329968,0.013184214,   -0.038518497,-0.071329968,-0.013184214,   -0.032098748,-0.063176572,0.013184214,   -0.038518497,-0.071329968,0.013184214,   -0.032098748,-0.063176572,-0.013184214,   -0.032098748,-0.063176572,0.013184214,   -0.019259249,-0.063176572,0.013184214,   -0.028888873,-0.070310793,0.026368427,   -0.038518497,-0.087636758,-0.013184214,   -0.032098748,-0.095790154,-0.013184214,   -0.028888873,-0.094770979,-0.026368427,   -0.038518497,-0.087636758,-0.013184214,   -0.032098748,-0.095790154,0.013184214,   -0.032098748,-0.095790154,-0.013184214,   -0.038518497,-0.087636758,0.013184214,   -0.032098748,-0.095790154,0.013184214,   -0.038518497,-0.087636758,-0.013184214,   -0.032098748,-0.095790154,-0.013184214,   -0.019259249,-0.095790154,-0.013184214,   -0.028888873,-0.094770979,-0.026368427,   -0.019259249,-0.095790154,0.013184214,   -0.032098748,-0.095790154,0.013184214,   -0.012839499,-0.090694282,0.026368427,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.87238861,0.42701183,   0.8478469,0.38998758,   0.87118065,0.33102762,   0.37283556,0.52564527,   0.27039689,0.59463229,   0.27039689,0.52564527,   0.37283556,0.59463229,   0.27039689,0.59463229,   0.37283556,0.52564527,   0.34180297,0.47373665,   0.28946838,0.42707494,   0.34494369,0.4178146,   0.35094673,0.4726057,   0.43959992,0.46506232,   0.43848894,0.52493002,   0.34788573,0.41658572,   0.40361209,0.42603121,   0.35094673,0.4726057,   0.74988285,0.49690379,   0.73181984,0.51368823,   0.69569381,0.51266068,   0.97465299,0.32972542,   1,0.43073914,   0.97586095,0.42570963,   0.34788573,0.12282778,   0.40288024,0.30607894,   0.34881957,0.30725159,   0.88614433,0.14950708,   0.88427371,0.00086813244,   0.95512589,0.14863894,   0.88427371,0.00086813244,   0.95325527,0,   0.95512589,0.14863894,   0.34788573,0.1245845,   0.25735572,0.13651423,   0.25974553,0.00095735221,   0.34788573,0.1245845,   0.29126052,0.30745978,   0.25735572,0.13651423,   0.3453436,0.30921244,   0.29126052,0.30745978,   0.34788573,0.1245845,   0.3453436,0.30921244,   0.3247573,0.37011618,   0.29126052,0.30745978,   0.81142009,0.00086813244,   0.80954947,0.14950708,   0.74243853,0,   0.80954947,0.14950708,   0.74056791,0.14863894,   0.74243853,0,   0.089698763,0,   0.090362857,0.13550796,   0,0.1224487,   0.25974553,0.00095735221,   0.090362857,0.13550796,   0.089698763,0,   0.25735572,0.13651423,   0.090362857,0.13550796,   0.25974553,0.00095735221,   0.43701067,0,   0.43826049,0.13549932,   0.34788573,0.12282778,   0.60709694,0.00037757081,   0.43826049,0.13549932,   0.43701067,0,   0.60522221,0.13591175,   0.43826049,0.13549932,   0.60709694,0.00037757081,   0.2540093,0.52564527,   0.2532405,0.46583907,   0.34180297,0.47373665,   0.089101427,0.524854,   0.2532405,0.46583907,   0.2540093,0.52564527,   0.090568186,0.46505998,   0.2532405,0.46583907,   0.089101427,0.524854,   0.10243867,0.59463229,   0,0.59463229,   0.10243867,0.52564527,   0,0.59463229,   0,0.52564527,   0.10243867,0.52564527,   0.60356305,0.52489295,   0.60252672,0.46509224,   0.69112471,0.47283539,   0.43848894,0.52493002,   0.60252672,0.46509224,   0.60356305,0.52489295,   0.43959992,0.46506232,   0.60252672,0.46509224,   0.43848894,0.52493002,   0,0.1224487,   0.054261789,0.30602025,   0.00018585565,0.30701992,   0.69569381,0.12370022,   0.60522221,0.13591175,   0.60709694,0.00037757081,   0.69377904,0.30812346,   0.63976826,0.30663925,   0.69569381,0.12370022,   0.69377904,0.30812346,   0.67352087,0.36908194,   0.63976826,0.30663925,   0.71983286,0.42570963,   0.69623068,0.38807949,   0.72104082,0.32972542,   0.69112471,0.47283539,   0.63846346,0.42622023,   0.69419007,0.41675282,   0.0017842702,0.4718655,   0.090568186,0.46505998,   0.089101427,0.524854,   0,0.41606378,   0.054604358,0.42611694,   0.0017842702,0.4718655,   0.82451316,0.33102762,   0.84731003,0.43264723,   0.8233052,0.42701183,   0.00018585565,0.30701992,   0.054261789,0.30602025,   0.01986794,0.36819549,   0.63976826,0.30663925,   0.60522221,0.13591175,   0.69569381,0.12370022,   0.43826049,0.13549932,   0.40288024,0.30607894,   0.34788573,0.12282778,   0.40288024,0.30607894,   0.36867076,0.36843903,   0.34881957,0.30725159,   0.51097376,0.73308674,   0.51895676,0.69884085,   0.55596696,0.73905289,   0.46823589,0.73522152,   0.51895676,0.69884085,   0.51097376,0.73308674,   0.12329268,0.74204888,   0.14985256,0.70512071,   0.16485257,0.74979504,   0.40361209,0.42603121,   0.43959992,0.46506232,   0.35094673,0.4726057,   0.60252672,0.46509224,   0.63846346,0.42622023,   0.69112471,0.47283539,   0.8040719,0.49587624,   0.76794587,0.49690379,   0.74988285,0.48011936,   0.041875043,0.74415712,   0.049839452,0.70583694,   0.081790966,0.7537692,   0,0.74996296,   0.049839452,0.70583694,   0.041875043,0.74415712,   0.65031641,0.61472564,   0.68539108,0.59463229,   0.68519504,0.62187645,   0.60157846,0.73434883,   0.62823031,0.70153694,   0.64418248,0.73834623,   0.8478469,0.38998758,   0.84731003,0.43264723,   0.82451316,0.33102762,   0.71375682,0.48011936,   0.74988285,0.4811469,   0.69569381,0.49690379,   0.082973083,0.59958422,   0.075838026,0.63633587,   0.041919478,0.60010809,   0.17471681,0.61935305,   0.21036489,0.66431136,   0.17207324,0.66193409,   0.21300846,0.62173031,   0.21036489,0.66431136,   0.17471681,0.61935305,   0.56224282,0.59463229,   0.59869056,0.63174193,   0.57187762,0.63128138,   0.090362857,0.13550796,   0.054261789,0.30602025,   0,0.1224487,   0.60752567,0.59770592,   0.59869056,0.63174193,   0.56224282,0.59463229,   0.65031641,0.59789088,   0.59869056,0.63174193,   0.60752567,0.59770592,   0.78869107,0.65735388,   0.75438635,0.69159116,   0.75416969,0.66452706,   0.041919478,0.60010809,   0.016655373,0.63871624,   0,0.59463229,   0.041919478,0.60010809,   0.075838026,0.63633587,   0.049434312,0.63851897,   0.054604358,0.42611694,   0.090568186,0.46505998,   0.0017842702,0.4718655,   0.2532405,0.46583907,   0.28946838,0.42707494,   0.34180297,0.47373665,   0.74988285,0.49793134,   0.78600888,0.49690379,   0.8040719,0.51368823,   0.12994453,0.59815351,   0.12065226,0.63617353,   0.088959659,0.5957218,   0.17207324,0.59463229,   0.12065226,0.63617353,   0.12994453,0.59815351,   0.78937866,0.65678958,   0.82378115,0.66451696,   0.82313018,0.69157811,   0.78937866,0.61412793,   0.82471608,0.59463229,   0.82407731,0.62185886,   0.51099396,0.59631447,   0.48515777,0.63100598,   0.46823589,0.59463229,   0.69569381,0.43073914,   0.69623068,0.38807949,   0.71983286,0.42570963,   0.55636779,0.73834623,   0.56840947,0.70241597,   0.60157846,0.73434883,   0.317511,0.67096334,   0.28186292,0.62600502,   0.32015457,0.62838229,   0.27921935,0.66858607,   0.28186292,0.62600502,   0.317511,0.67096334,   0.99946313,0.38807949,   1,0.43073914,   0.97465299,0.32972542,   0.082973083,0.74979504,   0.09268261,0.71363819,   0.12329268,0.74204888,   0.32279814,0.61935305,   0.35844622,0.66431136,   0.32015457,0.66193409,   0.36108979,0.62173031,   0.35844622,0.66431136,   0.32279814,0.61935305,   0.55596696,0.73905289,   0.51895676,0.69884085,   0.54550439,0.70263147,   0.84838377,0.43264723,   0.8478469,0.38998758,   0.87238861,0.42701183,   0.55636779,0.59521947,   0.54514316,0.6314133,   0.51099396,0.59631447,   0.46559232,0.67096334,   0.42994424,0.62600502,   0.46823589,0.62838229,   0.42730067,0.66858607,   0.42994424,0.62600502,   0.46559232,0.67096334,   0.088959659,0.5957218,   0.12065226,0.63617353,   0.094378572,0.6327654,   0.36108979,0.62173031,   0.36277212,0.59463229,   0.42994424,0.62600502,   0.36277212,0.59463229,   0.43162658,0.598907,   0.42994424,0.62600502,   0.09268261,0.71363819,   0.11711823,0.7033999,   0.12329268,0.74204888,   0.35844622,0.66431136,   0.42561834,0.69568409,   0.35676388,0.69140938,   0.42730067,0.66858607,   0.42561834,0.69568409,   0.35844622,0.66431136,   0.54514316,0.6314133,   0.51833566,0.63070355,   0.51099396,0.59631447,   0.11711823,0.7033999,   0.14985256,0.70512071,   0.12329268,0.74204888,   0.89215881,0.6926608,   0.89237509,0.66560913,   0.92695263,0.65901128,   0.89215881,0.6926608,   0.82378115,0.66451696,   0.89237509,0.66560913,   0.82313018,0.69157811,   0.82378115,0.66451696,   0.89215881,0.6926608,   0.15338659,0.63789435,   0.12065226,0.63617353,   0.17207324,0.59463229,   0.89343249,0.62296515,   0.89367376,0.59571711,   0.92842321,0.61637587,   0.89343249,0.62296515,   0.82471608,0.59463229,   0.89367376,0.59571711,   0.82407731,0.62185886,   0.82471608,0.59463229,   0.89343249,0.62296515,   0.48577887,0.69914328,   0.51895676,0.69884085,   0.46823589,0.73522152,   0.51833566,0.63070355,   0.48515777,0.63100598,   0.51099396,0.59631447,   0.68519504,0.62187645,   0.68539108,0.59463229,   0.75455906,0.62186971,   0.68539108,0.59463229,   0.75435723,0.59463229,   0.75455906,0.62186971,   0.68556703,0.66453196,   0.68534913,0.69158777,   0.65109882,0.65737863,   0.68556703,0.66453196,   0.75438635,0.69159116,   0.68534913,0.69158777,   0.75416969,0.66452706,   0.75438635,0.69159116,   0.68556703,0.66453196,   0.75455906,0.62186971,   0.75435723,0.59463229,   0.78937866,0.61469732,   0.017060514,0.70603421,   0.049839452,0.70583694,   0,0.74996296,   0.049839452,0.70583694,   0.073772716,0.71720008,   0.081790966,0.7537692,   0.27753701,0.69568409,   0.21036489,0.66431136,   0.27921935,0.66858607,   0.20868256,0.69140938,   0.21036489,0.66431136,   0.27753701,0.69568409,   0.049434312,0.63851897,   0.016655373,0.63871624,   0.041919478,0.60010809,   0.56840947,0.70241597,   0.59509721,0.69978725,   0.60157846,0.73434883,   0.28186292,0.62600502,   0.21469079,0.59463229,   0.28354525,0.598907,   0.21300846,0.62173031,   0.21469079,0.59463229,   0.28186292,0.62600502,   0.59509721,0.69978725,   0.62823031,0.70153694,   0.60157846,0.73434883,   0.63182366,0.63349163,   0.59869056,0.63174193,   0.65031641,0.59789088,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.716410322161292,0,0.697679188668226,   0.716410322161292,0,0.697679188668226,   0.716410322161292,0,0.697679188668226,   0.572651530029604,0.819798893116326,0,   0.572651530029604,0.819798893116326,0,   0.572651530029604,0.819798893116326,0,   0.572651530029604,0.819798893116326,0,   0.572651530029604,0.819798893116326,0,   0.572651530029604,0.819798893116326,0,   0.40247864866746,0.281689042543231,0.871012181704649,   0.40247864866746,0.281689042543231,0.871012181704649,   0.40247864866746,0.281689042543231,0.871012181704649,   0.365867985148688,0.523770833609908,-0.769288457799037,   0.365867985148688,0.523770833609908,-0.769288457799037,   0.365867985148688,0.523770833609908,-0.769288457799037,   0.40247864866746,0.281689042543231,-0.871012181704649,   0.40247864866746,0.281689042543231,-0.871012181704649,   0.40247864866746,0.281689042543231,-0.871012181704649,   0.367949055508282,0.927080101354493,-0.071665739535054,   0.367949055508282,0.927080101354493,-0.071665739535054,   0.367949055508282,0.927080101354493,-0.071665739535054,   0.716410322161292,0,-0.697679188668226,   0.716410322161292,0,-0.697679188668226,   0.716410322161292,0,-0.697679188668226,   0.326774389547311,-0.0894931614290562,-0.940855712845182,   0.326774389547311,-0.0894931614290562,-0.940855712845182,   0.326774389547311,-0.0894931614290562,-0.940855712845182,   0.8251302437767,-0.564942546463801,0,   0.8251302437767,-0.564942546463801,0,   0.8251302437767,-0.564942546463801,0,   0.8251302437767,-0.564942546463801,0,   0.8251302437767,-0.564942546463801,0,   0.8251302437767,-0.564942546463801,0,   0.349330600275182,-0.239176445616503,0.905959579436984,   0.349330600275182,-0.239176445616503,0.905959579436984,   0.349330600275182,-0.239176445616503,0.905959579436984,   0.372922575128007,-0.0734071363897106,0.924954131450289,   0.372922575128007,-0.0734071363897106,0.924954131450289,   0.372922575128007,-0.0734071363897106,0.924954131450289,   0.326774389547311,-0.0894931614290562,0.940855712845182,   0.326774389547311,-0.0894931614290562,0.940855712845182,   0.326774389547311,-0.0894931614290562,0.940855712845182,   0.32707166156451,-0.179149102930618,0.927862989412006,   0.32707166156451,-0.179149102930618,0.927862989412006,   0.32707166156451,-0.179149102930618,0.927862989412006,   -0.8251302437767,-0.564942546463801,0,   -0.8251302437767,-0.564942546463801,0,   -0.8251302437767,-0.564942546463801,0,   -0.8251302437767,-0.564942546463801,0,   -0.8251302437767,-0.564942546463801,0,   -0.8251302437767,-0.564942546463801,0,   -0.349330600275182,-0.239176445616503,0.905959579436984,   -0.349330600275182,-0.239176445616503,0.905959579436984,   -0.349330600275182,-0.239176445616503,0.905959579436984,   0,-0.255257805641673,0.966873028199152,   0,-0.255257805641673,0.966873028199152,   0,-0.255257805641673,0.966873028199152,   0,-0.255257805641673,0.966873028199152,   0,-0.255257805641673,0.966873028199152,   0,-0.255257805641673,0.966873028199152,   0.349330600275182,-0.239176445616503,-0.905959579436984,   0.349330600275182,-0.239176445616503,-0.905959579436984,   0.349330600275182,-0.239176445616503,-0.905959579436984,   0,-0.255257805641673,-0.966873028199152,   0,-0.255257805641673,-0.966873028199152,   0,-0.255257805641673,-0.966873028199152,   0,-0.255257805641673,-0.966873028199152,   0,-0.255257805641673,-0.966873028199152,   0,-0.255257805641673,-0.966873028199152,   0.365867985148688,0.523770833609908,0.769288457799037,   0.365867985148688,0.523770833609908,0.769288457799037,   0.365867985148688,0.523770833609908,0.769288457799037,   0,0.562790954121234,0.826599263222095,   0,0.562790954121234,0.826599263222095,   0,0.562790954121234,0.826599263222095,   0,0.562790954121234,0.826599263222095,   0,0.562790954121234,0.826599263222095,   0,0.562790954121234,0.826599263222095,   -0.572651530029604,0.819798893116326,0,   -0.572651530029604,0.819798893116326,0,   -0.572651530029604,0.819798893116326,0,   -0.572651530029604,0.819798893116326,0,   -0.572651530029604,0.819798893116326,0,   -0.572651530029604,0.819798893116326,0,   -0.365867985148688,0.523770833609908,-0.769288457799037,   -0.365867985148688,0.523770833609908,-0.769288457799037,   -0.365867985148688,0.523770833609908,-0.769288457799037,   0,0.562790954121234,-0.826599263222095,   0,0.562790954121234,-0.826599263222095,   0,0.562790954121234,-0.826599263222095,   0,0.562790954121234,-0.826599263222095,   0,0.562790954121234,-0.826599263222095,   0,0.562790954121234,-0.826599263222095,   -0.326774389547311,-0.0894931614290562,0.940855712845182,   -0.326774389547311,-0.0894931614290562,0.940855712845182,   -0.326774389547311,-0.0894931614290562,0.940855712845182,   -0.349330600275182,-0.239176445616503,-0.905959579436984,   -0.349330600275182,-0.239176445616503,-0.905959579436984,   -0.349330600275182,-0.239176445616503,-0.905959579436984,   -0.326774389547311,-0.0894931614290562,-0.940855712845182,   -0.326774389547311,-0.0894931614290562,-0.940855712845182,   -0.326774389547311,-0.0894931614290562,-0.940855712845182,   -0.32707166156451,-0.179149102930618,-0.927862989412006,   -0.32707166156451,-0.179149102930618,-0.927862989412006,   -0.32707166156451,-0.179149102930618,-0.927862989412006,   -0.716410322161292,0,-0.697679188668226,   -0.716410322161292,0,-0.697679188668226,   -0.716410322161292,0,-0.697679188668226,   -0.40247864866746,0.281689042543231,-0.871012181704649,   -0.40247864866746,0.281689042543231,-0.871012181704649,   -0.40247864866746,0.281689042543231,-0.871012181704649,   -0.365867985148688,0.523770833609908,0.769288457799037,   -0.365867985148688,0.523770833609908,0.769288457799037,   -0.365867985148688,0.523770833609908,0.769288457799037,   -0.40247864866746,0.281689042543231,0.871012181704649,   -0.40247864866746,0.281689042543231,0.871012181704649,   -0.40247864866746,0.281689042543231,0.871012181704649,   -0.716410322161292,0,0.697679188668226,   -0.716410322161292,0,0.697679188668226,   -0.716410322161292,0,0.697679188668226,   -0.32707166156451,-0.179149102930618,0.927862989412006,   -0.32707166156451,-0.179149102930618,0.927862989412006,   -0.32707166156451,-0.179149102930618,0.927862989412006,   -0.372922575128007,-0.0734071363897106,-0.924954131450289,   -0.372922575128007,-0.0734071363897106,-0.924954131450289,   -0.372922575128007,-0.0734071363897106,-0.924954131450289,   0.372922575128007,-0.0734071363897106,-0.924954131450289,   0.372922575128007,-0.0734071363897106,-0.924954131450289,   0.372922575128007,-0.0734071363897106,-0.924954131450289,   0.32707166156451,-0.179149102930618,-0.927862989412006,   0.32707166156451,-0.179149102930618,-0.927862989412006,   0.32707166156451,-0.179149102930618,-0.927862989412006,   -0.400479581876428,0.900931803051576,0.167146614534421,   -0.400479581876428,0.900931803051576,0.167146614534421,   -0.400479581876428,0.900931803051576,0.167146614534421,   0.246163965288377,0.969112382950262,0.0149830372744522,   0.246163965288377,0.969112382950262,0.0149830372744522,   0.246163965288377,0.969112382950262,0.0149830372744522,   0.20128255554478,-0.792420486779732,0.575808218910719,   0.20128255554478,-0.792420486779732,0.575808218910719,   0.20128255554478,-0.792420486779732,0.575808218910719,   0.386575347136748,0.304378328206141,-0.870582181246858,   0.386575347136748,0.304378328206141,-0.870582181246858,   0.386575347136748,0.304378328206141,-0.870582181246858,   -0.386575347136748,0.304378328206141,-0.870582181246858,   -0.386575347136748,0.304378328206141,-0.870582181246858,   -0.386575347136748,0.304378328206141,-0.870582181246858,   -0.367949055508282,0.927080101354493,-0.071665739535054,   -0.367949055508282,0.927080101354493,-0.071665739535054,   -0.367949055508282,0.927080101354493,-0.071665739535054,   0.0554018069672339,-0.872435372034189,0.485579201993178,   0.0554018069672339,-0.872435372034189,0.485579201993178,   0.0554018069672339,-0.872435372034189,0.485579201993178,   -0.223277649632757,-0.879012010405748,0.421289658948469,   -0.223277649632757,-0.879012010405748,0.421289658948469,   -0.223277649632757,-0.879012010405748,0.421289658948469,   -0.777722675662478,0.612356513418972,-0.142010352558384,   -0.777722675662478,0.612356513418972,-0.142010352558384,   -0.777722675662478,0.612356513418972,-0.142010352558384,   -0.238572519317649,0.939225944104057,0.246855785729793,   -0.238572519317649,0.939225944104057,0.246855785729793,   -0.238572519317649,0.939225944104057,0.246855785729793,   -0.716410322161292,0,0.697679188668226,   -0.716410322161292,0,0.697679188668226,   -0.716410322161292,0,0.697679188668226,   -0.367949055508282,0.927080101354493,0.071665739535054,   -0.367949055508282,0.927080101354493,0.071665739535054,   -0.367949055508282,0.927080101354493,0.071665739535054,   0.0633446702992413,-0.997514955271879,0.0308442337175191,   0.0633446702992413,-0.997514955271879,0.0308442337175191,   0.0633446702992413,-0.997514955271879,0.0308442337175191,   0.899079209964913,0,0.437785991334656,   0.899079209964913,0,0.437785991334656,   0.899079209964913,0,0.437785991334656,   0.899079209964913,0,0.437785991334656,   0.899079209964913,0,0.437785991334656,   0.899079209964913,0,0.437785991334656,   0.733817469461467,0.577786724176991,0.357315578834721,   0.733817469461467,0.577786724176991,0.357315578834721,   0.733817469461467,0.577786724176991,0.357315578834721,   -0.372922575128007,-0.0734071363897106,0.924954131450289,   -0.372922575128007,-0.0734071363897106,0.924954131450289,   -0.372922575128007,-0.0734071363897106,0.924954131450289,   0.400479581876428,0.900931803051576,-0.167146614534421,   0.400479581876428,0.900931803051576,-0.167146614534421,   0.400479581876428,0.900931803051576,-0.167146614534421,   -0.246163965288377,0.969112382950262,-0.0149830372744522,   -0.246163965288377,0.969112382950262,-0.0149830372744522,   -0.246163965288377,0.969112382950262,-0.0149830372744522,   -0.777722680792212,-0.612356517457977,-0.142010307048867,   -0.777722680792212,-0.612356517457977,-0.142010307048867,   -0.777722680792212,-0.612356517457977,-0.142010307048867,   -0.20128255554478,-0.792420486779732,-0.575808218910719,   -0.20128255554478,-0.792420486779732,-0.575808218910719,   -0.20128255554478,-0.792420486779732,-0.575808218910719,   0.695347654393668,-0.547496700631993,-0.46555236260415,   0.695347654393668,-0.547496700631993,-0.46555236260415,   0.695347654393668,-0.547496700631993,-0.46555236260415,   -0.386575347136748,0.304378328206141,0.870582181246858,   -0.386575347136748,0.304378328206141,0.870582181246858,   -0.386575347136748,0.304378328206141,0.870582181246858,   0.386575347136748,0.304378328206141,0.870582181246858,   0.386575347136748,0.304378328206141,0.870582181246858,   0.386575347136748,0.304378328206141,0.870582181246858,   0.367949055508282,0.927080101354493,0.071665739535054,   0.367949055508282,0.927080101354493,0.071665739535054,   0.367949055508282,0.927080101354493,0.071665739535054,   -0.0554018069672339,-0.872435372034189,-0.485579201993178,   -0.0554018069672339,-0.872435372034189,-0.485579201993178,   -0.0554018069672339,-0.872435372034189,-0.485579201993178,   0.223277649632757,-0.879012010405748,-0.421289658948469,   0.223277649632757,-0.879012010405748,-0.421289658948469,   0.223277649632757,-0.879012010405748,-0.421289658948469,   0.777722680792212,-0.612356517457977,-0.142010307048867,   0.777722680792212,-0.612356517457977,-0.142010307048867,   0.777722680792212,-0.612356517457977,-0.142010307048867,   0.777722675662478,0.612356513418972,0.142010352558384,   0.777722675662478,0.612356513418972,0.142010352558384,   0.777722675662478,0.612356513418972,0.142010352558384,   0.238572519317649,0.939225944104057,-0.246855785729793,   0.238572519317649,0.939225944104057,-0.246855785729793,   0.238572519317649,0.939225944104057,-0.246855785729793,   -0.716410322161292,0,-0.697679188668226,   -0.716410322161292,0,-0.697679188668226,   -0.716410322161292,0,-0.697679188668226,   0.398474580287668,0.89642128671509,-0.194028053612435,   0.398474580287668,0.89642128671509,-0.194028053612435,   0.398474580287668,0.89642128671509,-0.194028053612435,   0.899079209964913,0,-0.437785991334656,   0.899079209964913,0,-0.437785991334656,   0.899079209964913,0,-0.437785991334656,   0.899079209964913,0,-0.437785991334656,   0.899079209964913,0,-0.437785991334656,   0.899079209964913,0,-0.437785991334656,   0.716410322161292,0,-0.697679188668226,   0.716410322161292,0,-0.697679188668226,   0.716410322161292,0,-0.697679188668226,   -0.0633446702992413,-0.997514955271879,-0.0308442337175191,   -0.0633446702992413,-0.997514955271879,-0.0308442337175191,   -0.0633446702992413,-0.997514955271879,-0.0308442337175191,   -0.899079209964913,0,-0.437785991334656,   -0.899079209964913,0,-0.437785991334656,   -0.899079209964913,0,-0.437785991334656,   -0.899079209964913,0,-0.437785991334656,   -0.899079209964913,0,-0.437785991334656,   -0.899079209964913,0,-0.437785991334656,   -0.733817469461467,0.577786724176991,-0.357315578834721,   -0.733817469461467,0.577786724176991,-0.357315578834721,   -0.733817469461467,0.577786724176991,-0.357315578834721,   0.716410322161292,0,0.697679188668226,   0.716410322161292,0,0.697679188668226,   0.716410322161292,0,0.697679188668226,   -0.398474580287668,0.89642128671509,0.194028053612435,   -0.398474580287668,0.89642128671509,0.194028053612435,   -0.398474580287668,0.89642128671509,0.194028053612435,   -0.899079209964913,0,0.437785991334656,   -0.899079209964913,0,0.437785991334656,   -0.899079209964913,0,0.437785991334656,   -0.899079209964913,0,0.437785991334656,   -0.899079209964913,0,0.437785991334656,   -0.899079209964913,0,0.437785991334656,   -0.733817469461467,-0.577786724176991,0.357315578834721,   -0.733817469461467,-0.577786724176991,0.357315578834721,   -0.733817469461467,-0.577786724176991,0.357315578834721,   -0.785685509113714,0.618626123574429,0,   -0.785685509113714,0.618626123574429,0,   -0.785685509113714,0.618626123574429,0,   -0.785685509113714,0.618626123574429,0,   -0.785685509113714,0.618626123574429,0,   -0.785685509113714,0.618626123574429,0,   -0.695347654393668,-0.547496700631993,0.46555236260415,   -0.695347654393668,-0.547496700631993,0.46555236260415,   -0.695347654393668,-0.547496700631993,0.46555236260415,   -0.785685509113714,-0.618626123574429,0,   -0.785685509113714,-0.618626123574429,0,   -0.785685509113714,-0.618626123574429,0,   -0.785685509113714,-0.618626123574429,0,   -0.785685509113714,-0.618626123574429,0,   -0.785685509113714,-0.618626123574429,0,   -0.764145153595207,0.60166586851021,-0.23255185853227,   -0.764145153595207,0.60166586851021,-0.23255185853227,   -0.764145153595207,0.60166586851021,-0.23255185853227,   0,-0.879493806671,0.475910331919106,   0,-0.879493806671,0.475910331919106,   0,-0.879493806671,0.475910331919106,   0.777722680792212,-0.612356517457977,0.142010307048867,   0.777722680792212,-0.612356517457977,0.142010307048867,   0.777722680792212,-0.612356517457977,0.142010307048867,   0.785685462276915,-0.618626183059454,0,   0.785685462276915,-0.618626183059454,0,   0.785685462276915,-0.618626183059454,0,   0.785685462276915,-0.618626183059454,0,   0.785685462276915,-0.618626183059454,0,   0.785685462276915,-0.618626183059454,0,   0,-0.76181561235235,-0.647793927708661,   0,-0.76181561235235,-0.647793927708661,   0,-0.76181561235235,-0.647793927708661,   0.777722675662478,0.612356513418972,-0.142010352558384,   0.777722675662478,0.612356513418972,-0.142010352558384,   0.777722675662478,0.612356513418972,-0.142010352558384,   0.785685462276915,0.618626183059454,0,   0.785685462276915,0.618626183059454,0,   0.785685462276915,0.618626183059454,0,   0.785685462276915,0.618626183059454,0,   0.785685462276915,0.618626183059454,0,   0.785685462276915,0.618626183059454,0,   0,0.932751235996508,0.36052063983493,   0,0.932751235996508,0.36052063983493,   0,0.932751235996508,0.36052063983493,   0,0.997025472378551,-0.0770727411496932,   0,0.997025472378551,-0.0770727411496932,   0,0.997025472378551,-0.0770727411496932,   -0.785685462276915,0.618626183059454,0,   -0.785685462276915,0.618626183059454,0,   -0.785685462276915,0.618626183059454,0,   -0.785685462276915,0.618626183059454,0,   -0.785685462276915,0.618626183059454,0,   -0.785685462276915,0.618626183059454,0,   -0.777722680792212,-0.612356517457977,0.142010307048867,   -0.777722680792212,-0.612356517457977,0.142010307048867,   -0.777722680792212,-0.612356517457977,0.142010307048867,   -0.785685462276915,-0.618626183059454,0,   -0.785685462276915,-0.618626183059454,0,   -0.785685462276915,-0.618626183059454,0,   -0.785685462276915,-0.618626183059454,0,   -0.785685462276915,-0.618626183059454,0,   -0.785685462276915,-0.618626183059454,0,   -0.777722675662478,0.612356513418972,0.142010352558384,   -0.777722675662478,0.612356513418972,0.142010352558384,   -0.777722675662478,0.612356513418972,0.142010352558384,   0,-0.76181561235235,0.647793927708661,   0,-0.76181561235235,0.647793927708661,   0,-0.76181561235235,0.647793927708661,   0.733817469461467,-0.577786724176991,-0.357315578834721,   0.733817469461467,-0.577786724176991,-0.357315578834721,   0.733817469461467,-0.577786724176991,-0.357315578834721,   0.785685509113714,-0.618626123574429,0,   0.785685509113714,-0.618626123574429,0,   0.785685509113714,-0.618626123574429,0,   0.785685509113714,-0.618626123574429,0,   0.785685509113714,-0.618626123574429,0,   0.785685509113714,-0.618626123574429,0,   0,-0.879493806671,-0.475910331919106,   0,-0.879493806671,-0.475910331919106,   0,-0.879493806671,-0.475910331919106,   0.764145153595207,0.60166586851021,0.23255185853227,   0.764145153595207,0.60166586851021,0.23255185853227,   0.764145153595207,0.60166586851021,0.23255185853227,   0.785685509113714,0.618626123574429,0,   0.785685509113714,0.618626123574429,0,   0.785685509113714,0.618626123574429,0,   0.785685509113714,0.618626123574429,0,   0.785685509113714,0.618626123574429,0,   0.785685509113714,0.618626123574429,0,   0,0.997025472378551,0.0770727411496932,   0,0.997025472378551,0.0770727411496932,   0,0.997025472378551,0.0770727411496932,   0,0.932751235996508,-0.36052063983493,   0,0.932751235996508,-0.36052063983493,   0,0.932751235996508,-0.36052063983493,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 360 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 360 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature2'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.013184214,-0.17936246,0.064197496,   -0.019776321,-0.1100586,0.064197496,   -0.013184214,-0.17936246,0.064197496,   0.013184214,-0.17936246,0.064197496,   0.019776321,-0.1100586,0.064197496,   -0.019776321,-0.1100586,0.064197496,   -0.019776321,-0.073368317,0.064197496,   0.013184214,-0.052984828,0.064197496,   -0.013184214,-0.052984828,0.064197496,   -0.019776321,-0.073368317,0.064197496,   0.019776321,-0.073368317,0.064197496,   0.013184214,-0.052984828,0.064197496,   -0.013184214,-0.087636758,-0.038518497,   0.013184214,-0.087636758,-0.038518497,   -0.013184214,-0.071329968,-0.038518497,   -0.013184214,-0.071329968,-0.038518497,   0.013184214,-0.087636758,-0.038518497,   0.013184214,-0.071329968,-0.038518497,   -0.013184214,-0.087636758,0.012839499,   -0.013184214,-0.071329968,0.012839499,   -0.026368427,-0.090694282,0.012839499,   -0.013184214,-0.087636758,0.012839499,   0.013184214,-0.087636758,0.012839499,   -0.013184214,-0.071329968,0.012839499,   -0.013184214,-0.071329968,0.012839499,   0.013184214,-0.087636758,0.012839499,   0.013184214,-0.071329968,0.012839499,   0.013184214,-0.071329968,0.012839499,   0.013184214,-0.087636758,0.012839499,   0.026368427,-0.074387491,0.012839499,   -0.019776321,-0.1100586,0.064197496,   0.019776321,-0.073368317,0.064197496,   -0.019776321,-0.073368317,0.064197496,   -0.019776321,-0.1100586,0.064197496,   0.019776321,-0.1100586,0.064197496,   0.019776321,-0.073368317,0.064197496,   -0.026368427,-0.090694282,0.012839499,   -0.013184214,-0.071329968,0.012839499,   -0.026368427,-0.074387491,0.012839499,   0.026368427,-0.074387491,0.012839499,   0.013184214,-0.087636758,0.012839499,   0.026368427,-0.090694282,0.012839499,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.80954947,0.14950708,   0.72104082,0.32972542,   0.74056791,0.14863894,   0.80954947,0.14950708,   0.82451316,0.33102762,   0.72104082,0.32972542,   0.71983286,0.42570963,   0.80538872,0.48011936,   0.73640716,0.47925122,   0.71983286,0.42570963,   0.8233052,0.42701183,   0.80538872,0.48011936,   0.36108979,0.62173031,   0.42994424,0.62600502,   0.35844622,0.66431136,   0.35844622,0.66431136,   0.42994424,0.62600502,   0.42730067,0.66858607,   0.68519504,0.62187645,   0.68556703,0.66453196,   0.65031641,0.61472564,   0.68519504,0.62187645,   0.75455906,0.62186971,   0.68556703,0.66453196,   0.68556703,0.66453196,   0.75455906,0.62186971,   0.75416969,0.66452706,   0.75416969,0.66452706,   0.75455906,0.62186971,   0.78869107,0.65735388,   0.72104082,0.32972542,   0.8233052,0.42701183,   0.71983286,0.42570963,   0.72104082,0.32972542,   0.82451316,0.33102762,   0.8233052,0.42701183,   0.65031641,0.61472564,   0.68556703,0.66453196,   0.65109882,0.65737863,   0.78869107,0.65735388,   0.75455906,0.62186971,   0.78937866,0.61469732,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 42 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 42 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature2'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.019776321,-0.073368317,-0.064197496,   -0.019776321,-0.073368317,-0.064197496,   0.013184214,-0.052984828,-0.064197496,   0.013184214,-0.052984828,-0.064197496,   -0.019776321,-0.073368317,-0.064197496,   -0.013184214,-0.052984828,-0.064197496,   -0.019776321,-0.1100586,-0.064197496,   0.013184214,-0.17936246,-0.064197496,   -0.013184214,-0.17936246,-0.064197496,   -0.019776321,-0.1100586,-0.064197496,   0.019776321,-0.1100586,-0.064197496,   0.013184214,-0.17936246,-0.064197496,   -0.013184214,-0.071329968,-0.012839499,   -0.013184214,-0.087636758,-0.012839499,   -0.026368427,-0.074387491,-0.012839499,   -0.013184214,-0.071329968,-0.012839499,   0.013184214,-0.071329968,-0.012839499,   -0.013184214,-0.087636758,-0.012839499,   -0.013184214,-0.087636758,-0.012839499,   0.013184214,-0.071329968,-0.012839499,   0.013184214,-0.087636758,-0.012839499,   0.013184214,-0.087636758,-0.012839499,   0.013184214,-0.071329968,-0.012839499,   0.026368427,-0.074387491,-0.012839499,   -0.013184214,-0.071329968,0.038518497,   0.013184214,-0.071329968,0.038518497,   -0.013184214,-0.087636758,0.038518497,   -0.013184214,-0.087636758,0.038518497,   0.013184214,-0.071329968,0.038518497,   0.013184214,-0.087636758,0.038518497,   0.019776321,-0.073368317,-0.064197496,   -0.019776321,-0.1100586,-0.064197496,   -0.019776321,-0.073368317,-0.064197496,   0.019776321,-0.073368317,-0.064197496,   0.019776321,-0.1100586,-0.064197496,   -0.019776321,-0.1100586,-0.064197496,   -0.026368427,-0.074387491,-0.012839499,   -0.013184214,-0.087636758,-0.012839499,   -0.026368427,-0.090694282,-0.012839499,   0.026368427,-0.090694282,-0.012839499,   0.013184214,-0.087636758,-0.012839499,   0.026368427,-0.074387491,-0.012839499,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.87238861,0.42701183,   0.97586095,0.42570963,   0.89030509,0.48011936,   0.89030509,0.48011936,   0.97586095,0.42570963,   0.95928665,0.47925122,   0.97465299,0.32972542,   0.88614433,0.14950708,   0.95512589,0.14863894,   0.97465299,0.32972542,   0.87118065,0.33102762,   0.88614433,0.14950708,   0.89237509,0.66560913,   0.89343249,0.62296515,   0.92695263,0.65901128,   0.89237509,0.66560913,   0.82378115,0.66451696,   0.89343249,0.62296515,   0.89343249,0.62296515,   0.82378115,0.66451696,   0.82407731,0.62185886,   0.82407731,0.62185886,   0.82378115,0.66451696,   0.78937866,0.65678958,   0.27921935,0.66858607,   0.21036489,0.66431136,   0.28186292,0.62600502,   0.28186292,0.62600502,   0.21036489,0.66431136,   0.21300846,0.62173031,   0.87238861,0.42701183,   0.97465299,0.32972542,   0.97586095,0.42570963,   0.87238861,0.42701183,   0.87118065,0.33102762,   0.97465299,0.32972542,   0.92695263,0.65901128,   0.89343249,0.62296515,   0.92842321,0.61637587,   0.78937866,0.61412793,   0.82407731,0.62185886,   0.78937866,0.65678958,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 42 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 42 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature2'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.013184214,-0.030562991,-0.032098748,   -0.013184214,-0.030562991,-0.032098748,   0.013184214,-0.030562991,0.032098748,   0.013184214,-0.030562991,0.032098748,   -0.013184214,-0.030562991,-0.032098748,   -0.013184214,-0.030562991,0.032098748,   -0.013184214,-0.095790154,-0.019259249,   0.013184214,-0.095790154,-0.019259249,   -0.013184214,-0.095790154,-0.032098748,   -0.013184214,-0.095790154,-0.032098748,   0.013184214,-0.095790154,-0.019259249,   0.013184214,-0.095790154,-0.032098748,   -0.013184214,-0.095790154,0.032098748,   0.013184214,-0.095790154,0.032098748,   -0.013184214,-0.095790154,0.019259249,   -0.013184214,-0.095790154,0.019259249,   0.013184214,-0.095790154,0.032098748,   0.013184214,-0.095790154,0.019259249,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.27039689,0.52564527,   0.27039689,0.59463229,   0.10243867,0.52564527,   0.10243867,0.52564527,   0.27039689,0.59463229,   0.10243867,0.59463229,   0.48577887,0.69914328,   0.48515777,0.63100598,   0.51895676,0.69884085,   0.51895676,0.69884085,   0.48515777,0.63100598,   0.51833566,0.63070355,   0.59509721,0.69978725,   0.59869056,0.63174193,   0.62823031,0.70153694,   0.62823031,0.70153694,   0.59869056,0.63174193,   0.63182366,0.63349163,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature2'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.026368427,-0.11107777,0.044938247,   -0.026368427,-0.090694282,0.012839499,   -0.026368427,-0.17630493,0.032098748,   -0.026368427,-0.11107777,0.044938247,   -0.026368427,-0.094770979,0.028888873,   -0.026368427,-0.090694282,0.012839499,   -0.026368427,-0.11107777,0.044938247,   -0.026368427,-0.087636758,0.057777746,   -0.026368427,-0.094770979,0.028888873,   -0.026368427,-0.17630493,0.032098748,   -0.026368427,-0.090694282,0.012839499,   -0.026368427,-0.17630493,-0.032098748,   -0.026368427,-0.17630493,-0.032098748,   -0.026368427,-0.090694282,-0.012839499,   -0.026368427,-0.11107777,-0.044938247,   -0.026368427,-0.17630493,-0.032098748,   -0.026368427,-0.090694282,0.012839499,   -0.026368427,-0.090694282,-0.012839499,   -0.026368427,-0.11107777,-0.044938247,   -0.026368427,-0.090694282,-0.012839499,   -0.026368427,-0.094770979,-0.028888873,   -0.026368427,-0.11107777,-0.044938247,   -0.026368427,-0.087636758,-0.044938247,   -0.026368427,-0.087636758,-0.057777746,   -0.026368427,-0.094770979,-0.028888873,   -0.026368427,-0.087636758,-0.044938247,   -0.026368427,-0.11107777,-0.044938247,   -0.026368427,-0.074387491,-0.012839499,   -0.026368427,-0.049927305,-0.032098748,   -0.026368427,-0.070310793,-0.028888873,   -0.026368427,-0.074387491,-0.012839499,   -0.026368427,-0.049927305,0.032098748,   -0.026368427,-0.049927305,-0.032098748,   -0.026368427,-0.074387491,-0.012839499,   -0.026368427,-0.074387491,0.012839499,   -0.026368427,-0.049927305,0.032098748,   -0.026368427,-0.066234096,-0.044938247,   -0.026368427,-0.071329968,-0.044938247,   -0.026368427,-0.070310793,-0.028888873,   -0.026368427,-0.049927305,0.032098748,   -0.026368427,-0.070310793,0.028888873,   -0.026368427,-0.066234096,0.044938247,   -0.026368427,-0.049927305,0.032098748,   -0.026368427,-0.074387491,0.012839499,   -0.026368427,-0.070310793,0.028888873,   -0.026368427,-0.066234096,0.044938247,   -0.026368427,-0.071329968,0.044938247,   -0.026368427,-0.071329968,0.057777746,   -0.026368427,-0.070310793,0.028888873,   -0.026368427,-0.071329968,0.044938247,   -0.026368427,-0.066234096,0.044938247,   -0.026368427,-0.071329968,0.057777746,   -0.026368427,-0.071329968,0.044938247,   -0.026368427,-0.087636758,0.057777746,   -0.026368427,-0.087636758,0.057777746,   -0.026368427,-0.087636758,0.044938247,   -0.026368427,-0.094770979,0.028888873,   -0.026368427,-0.087636758,0.057777746,   -0.026368427,-0.071329968,0.044938247,   -0.026368427,-0.087636758,0.044938247,   -0.026368427,-0.087636758,-0.057777746,   -0.026368427,-0.087636758,-0.044938247,   -0.026368427,-0.071329968,-0.057777746,   -0.026368427,-0.071329968,-0.057777746,   -0.026368427,-0.071329968,-0.044938247,   -0.026368427,-0.066234096,-0.044938247,   -0.026368427,-0.071329968,-0.057777746,   -0.026368427,-0.087636758,-0.044938247,   -0.026368427,-0.071329968,-0.044938247,   -0.026368427,-0.090694282,-0.012839499,   -0.026368427,-0.074387491,0.012839499,   -0.026368427,-0.074387491,-0.012839499,   -0.026368427,-0.090694282,-0.012839499,   -0.026368427,-0.090694282,0.012839499,   -0.026368427,-0.074387491,0.012839499,   -0.026368427,-0.070310793,-0.028888873,   -0.026368427,-0.049927305,-0.032098748,   -0.026368427,-0.066234096,-0.044938247,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.63976826,0.30663925,   0.55480914,0.36004339,   0.60522221,0.13591175,   0.63976826,0.30663925,   0.5971526,0.34953222,   0.55480914,0.36004339,   0.63976826,0.30663925,   0.67352087,0.36908194,   0.5971526,0.34953222,   0.60522221,0.13591175,   0.55480914,0.36004339,   0.43826049,0.13549932,   0.43826049,0.13549932,   0.48751821,0.35993333,   0.40288024,0.30607894,   0.43826049,0.13549932,   0.55480914,0.36004339,   0.48751821,0.35993333,   0.40288024,0.30607894,   0.48751821,0.35993333,   0.44526557,0.34918238,   0.40288024,0.30607894,   0.40299309,0.36832345,   0.36867076,0.36843903,   0.44526557,0.34918238,   0.40299309,0.36832345,   0.40288024,0.30607894,   0.48794565,0.4022057,   0.43959992,0.46506232,   0.44615624,0.41293798,   0.48794565,0.4022057,   0.60252672,0.46509224,   0.43959992,0.46506232,   0.48794565,0.4022057,   0.55422109,0.40219613,   0.60252672,0.46509224,   0.40361209,0.42603121,   0.40320964,0.41229108,   0.44615624,0.41293798,   0.60252672,0.46509224,   0.59601599,0.4129949,   0.63846346,0.42622023,   0.60252672,0.46509224,   0.55422109,0.40219613,   0.59601599,0.4129949,   0.63846346,0.42622023,   0.63891938,0.41248581,   0.67331711,0.41286241,   0.59601599,0.4129949,   0.63891938,0.41248581,   0.63846346,0.42622023,   0.67331711,0.41286241,   0.63891938,0.41248581,   0.67352087,0.36908194,   0.67352087,0.36908194,   0.63945216,0.36881236,   0.5971526,0.34953222,   0.67352087,0.36908194,   0.63891938,0.41248581,   0.63945216,0.36881236,   0.36867076,0.36843903,   0.40299309,0.36832345,   0.3686819,0.4125169,   0.3686819,0.4125169,   0.40320964,0.41229108,   0.40361209,0.42603121,   0.3686819,0.4125169,   0.40299309,0.36832345,   0.40320964,0.41229108,   0.48751821,0.35993333,   0.55422109,0.40219613,   0.48794565,0.4022057,   0.48751821,0.35993333,   0.55480914,0.36004339,   0.55422109,0.40219613,   0.44615624,0.41293798,   0.43959992,0.46506232,   0.40361209,0.42603121,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 78 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 78 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature2'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.026368427,-0.087636758,0.057777746,   0.026368427,-0.087636758,0.044938247,   0.026368427,-0.071329968,0.057777746,   0.026368427,-0.087636758,0.057777746,   0.026368427,-0.11107777,0.044938247,   0.026368427,-0.087636758,0.044938247,   0.026368427,-0.071329968,0.057777746,   0.026368427,-0.087636758,0.044938247,   0.026368427,-0.071329968,0.044938247,   0.026368427,-0.071329968,0.044938247,   0.026368427,-0.066234096,0.044938247,   0.026368427,-0.071329968,0.057777746,   0.026368427,-0.17630493,-0.032098748,   0.026368427,-0.090694282,-0.012839499,   0.026368427,-0.17630493,0.032098748,   0.026368427,-0.17630493,-0.032098748,   0.026368427,-0.11107777,-0.044938247,   0.026368427,-0.090694282,-0.012839499,   0.026368427,-0.17630493,0.032098748,   0.026368427,-0.090694282,0.012839499,   0.026368427,-0.11107777,0.044938247,   0.026368427,-0.17630493,0.032098748,   0.026368427,-0.090694282,-0.012839499,   0.026368427,-0.090694282,0.012839499,   0.026368427,-0.11107777,0.044938247,   0.026368427,-0.094770979,0.028888873,   0.026368427,-0.087636758,0.044938247,   0.026368427,-0.11107777,0.044938247,   0.026368427,-0.090694282,0.012839499,   0.026368427,-0.094770979,0.028888873,   0.026368427,-0.074387491,0.012839499,   0.026368427,-0.049927305,0.032098748,   0.026368427,-0.070310793,0.028888873,   0.026368427,-0.074387491,0.012839499,   0.026368427,-0.049927305,-0.032098748,   0.026368427,-0.049927305,0.032098748,   0.026368427,-0.074387491,0.012839499,   0.026368427,-0.074387491,-0.012839499,   0.026368427,-0.049927305,-0.032098748,   0.026368427,-0.070310793,0.028888873,   0.026368427,-0.066234096,0.044938247,   0.026368427,-0.071329968,0.044938247,   0.026368427,-0.049927305,-0.032098748,   0.026368427,-0.070310793,-0.028888873,   0.026368427,-0.066234096,-0.044938247,   0.026368427,-0.049927305,-0.032098748,   0.026368427,-0.074387491,-0.012839499,   0.026368427,-0.070310793,-0.028888873,   0.026368427,-0.066234096,-0.044938247,   0.026368427,-0.071329968,-0.044938247,   0.026368427,-0.071329968,-0.057777746,   0.026368427,-0.070310793,-0.028888873,   0.026368427,-0.071329968,-0.044938247,   0.026368427,-0.066234096,-0.044938247,   0.026368427,-0.090694282,-0.012839499,   0.026368427,-0.11107777,-0.044938247,   0.026368427,-0.094770979,-0.028888873,   0.026368427,-0.11107777,-0.044938247,   0.026368427,-0.087636758,-0.057777746,   0.026368427,-0.094770979,-0.028888873,   0.026368427,-0.071329968,-0.057777746,   0.026368427,-0.071329968,-0.044938247,   0.026368427,-0.087636758,-0.057777746,   0.026368427,-0.087636758,-0.057777746,   0.026368427,-0.087636758,-0.044938247,   0.026368427,-0.094770979,-0.028888873,   0.026368427,-0.087636758,-0.057777746,   0.026368427,-0.071329968,-0.044938247,   0.026368427,-0.087636758,-0.044938247,   0.026368427,-0.090694282,0.012839499,   0.026368427,-0.074387491,-0.012839499,   0.026368427,-0.074387491,0.012839499,   0.026368427,-0.090694282,0.012839499,   0.026368427,-0.090694282,-0.012839499,   0.026368427,-0.074387491,-0.012839499,   0.026368427,-0.070310793,0.028888873,   0.026368427,-0.049927305,0.032098748,   0.026368427,-0.066234096,0.044938247,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01986794,0.36819549,   0.054195132,0.368228,   0.019580871,0.41236425,   0.01986794,0.36819549,   0.054261789,0.30602025,   0.054195132,0.368228,   0.019580871,0.41236425,   0.054195132,0.368228,   0.054223585,0.41235226,   0.054223585,0.41235226,   0.054604358,0.42611694,   0.019580871,0.41236425,   0.25735572,0.13651423,   0.20610286,0.36053816,   0.090362857,0.13550796,   0.25735572,0.13651423,   0.29126052,0.30745978,   0.20610286,0.36053816,   0.090362857,0.13550796,   0.13879965,0.36014833,   0.054261789,0.30602025,   0.090362857,0.13550796,   0.20610286,0.36053816,   0.13879965,0.36014833,   0.054261789,0.30602025,   0.096516756,0.34925126,   0.054195132,0.368228,   0.054261789,0.30602025,   0.13879965,0.36014833,   0.096516756,0.34925126,   0.13912591,0.40236063,   0.090568186,0.46505998,   0.097238327,0.41295212,   0.13912591,0.40236063,   0.2532405,0.46583907,   0.090568186,0.46505998,   0.13912591,0.40236063,   0.20533539,0.40269866,   0.2532405,0.46583907,   0.097238327,0.41295212,   0.054604358,0.42611694,   0.054223585,0.41235226,   0.2532405,0.46583907,   0.24702217,0.4136633,   0.28946838,0.42707494,   0.2532405,0.46583907,   0.20533539,0.40269866,   0.24702217,0.4136633,   0.28946838,0.42707494,   0.29003924,0.41332387,   0.32441961,0.41382051,   0.24702217,0.4136633,   0.29003924,0.41332387,   0.28946838,0.42707494,   0.20610286,0.36053816,   0.29126052,0.30745978,   0.24846221,0.35018337,   0.29126052,0.30745978,   0.3247573,0.37011618,   0.24846221,0.35018337,   0.32441961,0.41382051,   0.29003924,0.41332387,   0.3247573,0.37011618,   0.3247573,0.37011618,   0.2906835,0.36968789,   0.24846221,0.35018337,   0.3247573,0.37011618,   0.29003924,0.41332387,   0.2906835,0.36968789,   0.13879965,0.36014833,   0.20533539,0.40269866,   0.13912591,0.40236063,   0.13879965,0.36014833,   0.20610286,0.36053816,   0.20533539,0.40269866,   0.097238327,0.41295212,   0.090568186,0.46505998,   0.054604358,0.42611694,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 78 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 78 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature2'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.013184214,-0.22624448,0.032098748,   -0.013184214,-0.22624448,0.032098748,   0.013184214,-0.22624448,-0.032098748,   0.013184214,-0.22624448,-0.032098748,   -0.013184214,-0.22624448,0.032098748,   -0.013184214,-0.22624448,-0.032098748,   -0.013184214,-0.063176572,-0.032098748,   0.013184214,-0.063176572,-0.032098748,   -0.013184214,-0.063176572,-0.019259249,   -0.013184214,-0.063176572,-0.019259249,   0.013184214,-0.063176572,-0.032098748,   0.013184214,-0.063176572,-0.019259249,   -0.013184214,-0.063176572,0.019259249,   0.013184214,-0.063176572,0.019259249,   -0.013184214,-0.063176572,0.032098748,   -0.013184214,-0.063176572,0.032098748,   0.013184214,-0.063176572,0.019259249,   0.013184214,-0.063176572,0.032098748,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.54079378,0.52564527,   0.54079378,0.59463229,   0.37283556,0.52564527,   0.37283556,0.52564527,   0.54079378,0.59463229,   0.37283556,0.59463229,   0.11711823,0.7033999,   0.12065226,0.63617353,   0.14985256,0.70512071,   0.14985256,0.70512071,   0.12065226,0.63617353,   0.15338659,0.63789435,   0.017060514,0.70603421,   0.016655373,0.63871624,   0.049839452,0.70583694,   0.049839452,0.70583694,   0.016655373,0.63871624,   0.049434312,0.63851897,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Creature2'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.019776321,-0.073368317,-0.064197496,   0.026368427,-0.087636758,-0.057777746,   0.019776321,-0.1100586,-0.064197496,   0.013184214,-0.052984828,-0.064197496,   -0.013184214,-0.030562991,-0.032098748,   0.013184214,-0.030562991,-0.032098748,   0.013184214,-0.052984828,-0.064197496,   0.026368427,-0.066234096,-0.044938247,   0.019776321,-0.073368317,-0.064197496,   -0.013184214,-0.052984828,-0.064197496,   -0.013184214,-0.030562991,-0.032098748,   0.013184214,-0.052984828,-0.064197496,   -0.013184214,-0.052984828,-0.064197496,   -0.026368427,-0.049927305,-0.032098748,   -0.013184214,-0.030562991,-0.032098748,   -0.019776321,-0.073368317,-0.064197496,   -0.026368427,-0.066234096,-0.044938247,   -0.013184214,-0.052984828,-0.064197496,   -0.019776321,-0.073368317,-0.064197496,   -0.026368427,-0.071329968,-0.057777746,   -0.026368427,-0.066234096,-0.044938247,   -0.019776321,-0.1100586,-0.064197496,   -0.026368427,-0.071329968,-0.057777746,   -0.019776321,-0.073368317,-0.064197496,   -0.013184214,-0.17936246,-0.064197496,   -0.026368427,-0.11107777,-0.044938247,   -0.019776321,-0.1100586,-0.064197496,   0.013184214,-0.17936246,-0.064197496,   0.013184214,-0.22624448,-0.032098748,   -0.013184214,-0.17936246,-0.064197496,   0.013184214,-0.17936246,-0.064197496,   0.026368427,-0.17630493,-0.032098748,   0.013184214,-0.22624448,-0.032098748,   0.013184214,-0.17936246,-0.064197496,   0.026368427,-0.11107777,-0.044938247,   0.026368427,-0.17630493,-0.032098748,   0.019776321,-0.1100586,-0.064197496,   0.026368427,-0.11107777,-0.044938247,   0.013184214,-0.17936246,-0.064197496,   0.019776321,-0.1100586,-0.064197496,   0.026368427,-0.087636758,-0.057777746,   0.026368427,-0.11107777,-0.044938247,   0.013184214,-0.22624448,0.032098748,   0.013184214,-0.17936246,0.064197496,   -0.013184214,-0.22624448,0.032098748,   0.013184214,-0.22624448,0.032098748,   0.026368427,-0.17630493,0.032098748,   0.013184214,-0.17936246,0.064197496,   0.013184214,-0.22624448,-0.032098748,   -0.013184214,-0.22624448,-0.032098748,   -0.013184214,-0.17936246,-0.064197496,   0.013184214,-0.22624448,-0.032098748,   0.026368427,-0.17630493,0.032098748,   0.013184214,-0.22624448,0.032098748,   -0.013184214,-0.22624448,-0.032098748,   -0.026368427,-0.17630493,-0.032098748,   -0.013184214,-0.17936246,-0.064197496,   -0.013184214,-0.22624448,0.032098748,   -0.026368427,-0.17630493,-0.032098748,   -0.013184214,-0.22624448,-0.032098748,   0.013184214,-0.030562991,-0.032098748,   0.026368427,-0.049927305,-0.032098748,   0.013184214,-0.052984828,-0.064197496,   0.013184214,-0.030562991,0.032098748,   0.026368427,-0.049927305,-0.032098748,   0.013184214,-0.030562991,-0.032098748,   -0.013184214,-0.030562991,0.032098748,   -0.013184214,-0.052984828,0.064197496,   0.013184214,-0.030562991,0.032098748,   -0.013184214,-0.030562991,0.032098748,   -0.026368427,-0.049927305,0.032098748,   -0.013184214,-0.052984828,0.064197496,   -0.013184214,-0.030562991,-0.032098748,   -0.026368427,-0.049927305,0.032098748,   -0.013184214,-0.030562991,0.032098748,   0.013184214,-0.17936246,0.064197496,   -0.013184214,-0.17936246,0.064197496,   -0.013184214,-0.22624448,0.032098748,   0.013184214,-0.17936246,0.064197496,   0.026368427,-0.11107777,0.044938247,   0.019776321,-0.1100586,0.064197496,   -0.013184214,-0.17936246,0.064197496,   -0.026368427,-0.17630493,0.032098748,   -0.013184214,-0.22624448,0.032098748,   -0.019776321,-0.1100586,0.064197496,   -0.026368427,-0.11107777,0.044938247,   -0.013184214,-0.17936246,0.064197496,   -0.019776321,-0.1100586,0.064197496,   -0.026368427,-0.087636758,0.057777746,   -0.026368427,-0.11107777,0.044938247,   -0.019776321,-0.073368317,0.064197496,   -0.026368427,-0.087636758,0.057777746,   -0.019776321,-0.1100586,0.064197496,   -0.013184214,-0.052984828,0.064197496,   0.013184214,-0.052984828,0.064197496,   0.013184214,-0.030562991,0.032098748,   -0.013184214,-0.052984828,0.064197496,   -0.026368427,-0.066234096,0.044938247,   -0.019776321,-0.073368317,0.064197496,   0.013184214,-0.052984828,0.064197496,   0.026368427,-0.049927305,0.032098748,   0.013184214,-0.030562991,0.032098748,   0.019776321,-0.073368317,0.064197496,   0.026368427,-0.066234096,0.044938247,   0.013184214,-0.052984828,0.064197496,   0.019776321,-0.1100586,0.064197496,   0.026368427,-0.071329968,0.057777746,   0.019776321,-0.073368317,0.064197496,   0.019776321,-0.1100586,0.064197496,   0.026368427,-0.11107777,0.044938247,   0.026368427,-0.087636758,0.057777746,   -0.026368427,-0.11107777,0.044938247,   -0.026368427,-0.17630493,0.032098748,   -0.013184214,-0.17936246,0.064197496,   -0.026368427,-0.17630493,0.032098748,   -0.026368427,-0.17630493,-0.032098748,   -0.013184214,-0.22624448,0.032098748,   -0.026368427,-0.17630493,-0.032098748,   -0.026368427,-0.11107777,-0.044938247,   -0.013184214,-0.17936246,-0.064197496,   -0.026368427,-0.11107777,-0.044938247,   -0.026368427,-0.087636758,-0.057777746,   -0.019776321,-0.1100586,-0.064197496,   -0.026368427,-0.094770979,-0.028888873,   -0.013184214,-0.095790154,-0.032098748,   -0.026368427,-0.087636758,-0.044938247,   -0.026368427,-0.090694282,-0.012839499,   -0.013184214,-0.095790154,-0.032098748,   -0.026368427,-0.094770979,-0.028888873,   -0.026368427,-0.070310793,-0.028888873,   -0.013184214,-0.063176572,-0.019259249,   -0.026368427,-0.074387491,-0.012839499,   -0.026368427,-0.066234096,-0.044938247,   -0.026368427,-0.049927305,-0.032098748,   -0.013184214,-0.052984828,-0.064197496,   -0.026368427,-0.049927305,-0.032098748,   -0.026368427,-0.049927305,0.032098748,   -0.013184214,-0.030562991,-0.032098748,   -0.026368427,-0.049927305,0.032098748,   -0.026368427,-0.066234096,0.044938247,   -0.013184214,-0.052984828,0.064197496,   -0.026368427,-0.066234096,0.044938247,   -0.026368427,-0.071329968,0.057777746,   -0.019776321,-0.073368317,0.064197496,   -0.026368427,-0.070310793,0.028888873,   -0.013184214,-0.063176572,0.032098748,   -0.026368427,-0.071329968,0.044938247,   -0.026368427,-0.074387491,0.012839499,   -0.013184214,-0.063176572,0.032098748,   -0.026368427,-0.070310793,0.028888873,   -0.026368427,-0.090694282,0.012839499,   -0.013184214,-0.095790154,0.019259249,   -0.013184214,-0.087636758,0.012839499,   -0.026368427,-0.094770979,0.028888873,   -0.013184214,-0.095790154,0.019259249,   -0.026368427,-0.090694282,0.012839499,   0.026368427,-0.087636758,0.057777746,   0.026368427,-0.071329968,0.057777746,   0.019776321,-0.1100586,0.064197496,   0.026368427,-0.071329968,0.057777746,   0.026368427,-0.066234096,0.044938247,   0.019776321,-0.073368317,0.064197496,   0.026368427,-0.071329968,0.044938247,   0.013184214,-0.071329968,0.038518497,   0.026368427,-0.070310793,0.028888873,   0.026368427,-0.087636758,0.044938247,   0.013184214,-0.071329968,0.038518497,   0.026368427,-0.071329968,0.044938247,   0.013184214,-0.087636758,0.038518497,   0.013184214,-0.071329968,0.038518497,   0.026368427,-0.087636758,0.044938247,   0.026368427,-0.087636758,0.044938247,   0.013184214,-0.095790154,0.032098748,   0.013184214,-0.087636758,0.038518497,   0.026368427,-0.17630493,-0.032098748,   0.026368427,-0.17630493,0.032098748,   0.013184214,-0.22624448,-0.032098748,   0.026368427,-0.17630493,0.032098748,   0.026368427,-0.11107777,0.044938247,   0.013184214,-0.17936246,0.064197496,   0.026368427,-0.094770979,0.028888873,   0.013184214,-0.095790154,0.032098748,   0.026368427,-0.087636758,0.044938247,   0.026368427,-0.090694282,0.012839499,   0.013184214,-0.095790154,0.032098748,   0.026368427,-0.094770979,0.028888873,   0.026368427,-0.074387491,0.012839499,   0.013184214,-0.063176572,0.019259249,   0.013184214,-0.071329968,0.012839499,   0.026368427,-0.070310793,0.028888873,   0.013184214,-0.063176572,0.019259249,   0.026368427,-0.074387491,0.012839499,   0.026368427,-0.070310793,0.028888873,   0.013184214,-0.071329968,0.038518497,   0.013184214,-0.063176572,0.032098748,   0.026368427,-0.066234096,0.044938247,   0.026368427,-0.049927305,0.032098748,   0.013184214,-0.052984828,0.064197496,   0.026368427,-0.049927305,0.032098748,   0.026368427,-0.049927305,-0.032098748,   0.013184214,-0.030562991,0.032098748,   0.026368427,-0.049927305,-0.032098748,   0.026368427,-0.066234096,-0.044938247,   0.013184214,-0.052984828,-0.064197496,   0.026368427,-0.066234096,-0.044938247,   0.026368427,-0.071329968,-0.057777746,   0.019776321,-0.073368317,-0.064197496,   0.026368427,-0.070310793,-0.028888873,   0.013184214,-0.063176572,-0.032098748,   0.026368427,-0.071329968,-0.044938247,   0.026368427,-0.074387491,-0.012839499,   0.013184214,-0.063176572,-0.032098748,   0.026368427,-0.070310793,-0.028888873,   0.026368427,-0.074387491,-0.012839499,   0.013184214,-0.071329968,-0.012839499,   0.013184214,-0.063176572,-0.019259249,   0.026368427,-0.090694282,-0.012839499,   0.013184214,-0.095790154,-0.019259249,   0.013184214,-0.087636758,-0.012839499,   0.026368427,-0.094770979,-0.028888873,   0.013184214,-0.095790154,-0.019259249,   0.026368427,-0.090694282,-0.012839499,   -0.026368427,-0.071329968,0.057777746,   -0.026368427,-0.087636758,0.057777746,   -0.019776321,-0.073368317,0.064197496,   -0.026368427,-0.087636758,0.044938247,   -0.013184214,-0.087636758,0.038518497,   -0.026368427,-0.094770979,0.028888873,   -0.026368427,-0.071329968,0.044938247,   -0.013184214,-0.087636758,0.038518497,   -0.026368427,-0.087636758,0.044938247,   -0.013184214,-0.071329968,0.038518497,   -0.013184214,-0.087636758,0.038518497,   -0.026368427,-0.071329968,0.044938247,   -0.026368427,-0.087636758,-0.057777746,   -0.026368427,-0.071329968,-0.057777746,   -0.019776321,-0.1100586,-0.064197496,   -0.026368427,-0.071329968,-0.044938247,   -0.013184214,-0.071329968,-0.038518497,   -0.026368427,-0.070310793,-0.028888873,   -0.026368427,-0.087636758,-0.044938247,   -0.013184214,-0.071329968,-0.038518497,   -0.026368427,-0.071329968,-0.044938247,   -0.013184214,-0.087636758,-0.038518497,   -0.013184214,-0.071329968,-0.038518497,   -0.026368427,-0.087636758,-0.044938247,   -0.026368427,-0.087636758,-0.044938247,   -0.013184214,-0.095790154,-0.032098748,   -0.013184214,-0.087636758,-0.038518497,   0.026368427,-0.071329968,-0.057777746,   0.026368427,-0.087636758,-0.057777746,   0.019776321,-0.073368317,-0.064197496,   0.026368427,-0.087636758,-0.044938247,   0.013184214,-0.087636758,-0.038518497,   0.026368427,-0.094770979,-0.028888873,   0.026368427,-0.071329968,-0.044938247,   0.013184214,-0.087636758,-0.038518497,   0.026368427,-0.087636758,-0.044938247,   0.013184214,-0.071329968,-0.038518497,   0.013184214,-0.087636758,-0.038518497,   0.026368427,-0.071329968,-0.044938247,   0.026368427,-0.071329968,-0.044938247,   0.013184214,-0.063176572,-0.032098748,   0.013184214,-0.071329968,-0.038518497,   -0.013184214,-0.087636758,-0.038518497,   -0.013184214,-0.095790154,-0.032098748,   0.013184214,-0.087636758,-0.038518497,   -0.013184214,-0.095790154,-0.032098748,   0.013184214,-0.095790154,-0.032098748,   0.013184214,-0.087636758,-0.038518497,   -0.013184214,-0.071329968,-0.038518497,   -0.013184214,-0.063176572,-0.032098748,   -0.026368427,-0.070310793,-0.028888873,   -0.013184214,-0.071329968,-0.038518497,   0.013184214,-0.063176572,-0.032098748,   -0.013184214,-0.063176572,-0.032098748,   0.013184214,-0.071329968,-0.038518497,   0.013184214,-0.063176572,-0.032098748,   -0.013184214,-0.071329968,-0.038518497,   0.013184214,-0.087636758,-0.038518497,   0.013184214,-0.095790154,-0.032098748,   0.026368427,-0.094770979,-0.028888873,   -0.013184214,-0.063176572,-0.032098748,   -0.013184214,-0.063176572,-0.019259249,   -0.026368427,-0.070310793,-0.028888873,   -0.013184214,-0.063176572,-0.019259249,   -0.013184214,-0.071329968,-0.012839499,   -0.026368427,-0.074387491,-0.012839499,   -0.013184214,-0.063176572,-0.019259249,   0.013184214,-0.071329968,-0.012839499,   -0.013184214,-0.071329968,-0.012839499,   0.013184214,-0.063176572,-0.019259249,   0.013184214,-0.063176572,-0.032098748,   0.026368427,-0.074387491,-0.012839499,   0.013184214,-0.063176572,-0.019259249,   0.013184214,-0.071329968,-0.012839499,   -0.013184214,-0.063176572,-0.019259249,   -0.013184214,-0.087636758,-0.012839499,   -0.013184214,-0.095790154,-0.019259249,   -0.026368427,-0.090694282,-0.012839499,   -0.013184214,-0.087636758,-0.012839499,   0.013184214,-0.095790154,-0.019259249,   -0.013184214,-0.095790154,-0.019259249,   0.013184214,-0.087636758,-0.012839499,   0.013184214,-0.095790154,-0.019259249,   -0.013184214,-0.087636758,-0.012839499,   -0.013184214,-0.095790154,-0.019259249,   -0.013184214,-0.095790154,-0.032098748,   -0.026368427,-0.090694282,-0.012839499,   0.013184214,-0.095790154,-0.032098748,   0.013184214,-0.095790154,-0.019259249,   0.026368427,-0.094770979,-0.028888873,   -0.013184214,-0.087636758,0.012839499,   -0.013184214,-0.095790154,0.019259249,   0.013184214,-0.087636758,0.012839499,   -0.013184214,-0.071329968,0.012839499,   -0.013184214,-0.063176572,0.019259249,   -0.026368427,-0.074387491,0.012839499,   -0.013184214,-0.071329968,0.012839499,   0.013184214,-0.063176572,0.019259249,   -0.013184214,-0.063176572,0.019259249,   0.013184214,-0.071329968,0.012839499,   0.013184214,-0.063176572,0.019259249,   -0.013184214,-0.071329968,0.012839499,   0.013184214,-0.087636758,0.012839499,   0.013184214,-0.095790154,0.019259249,   0.026368427,-0.090694282,0.012839499,   -0.013184214,-0.063176572,0.019259249,   -0.013184214,-0.063176572,0.032098748,   -0.026368427,-0.074387491,0.012839499,   -0.013184214,-0.063176572,0.032098748,   -0.013184214,-0.071329968,0.038518497,   -0.026368427,-0.071329968,0.044938247,   -0.013184214,-0.063176572,0.032098748,   0.013184214,-0.071329968,0.038518497,   -0.013184214,-0.071329968,0.038518497,   0.013184214,-0.063176572,0.032098748,   0.013184214,-0.071329968,0.038518497,   -0.013184214,-0.063176572,0.032098748,   0.013184214,-0.063176572,0.032098748,   0.013184214,-0.063176572,0.019259249,   0.026368427,-0.070310793,0.028888873,   -0.013184214,-0.087636758,0.038518497,   -0.013184214,-0.095790154,0.032098748,   -0.026368427,-0.094770979,0.028888873,   -0.013184214,-0.087636758,0.038518497,   0.013184214,-0.095790154,0.032098748,   -0.013184214,-0.095790154,0.032098748,   0.013184214,-0.087636758,0.038518497,   0.013184214,-0.095790154,0.032098748,   -0.013184214,-0.087636758,0.038518497,   -0.013184214,-0.095790154,0.032098748,   -0.013184214,-0.095790154,0.019259249,   -0.026368427,-0.094770979,0.028888873,   -0.013184214,-0.095790154,0.019259249,   0.013184214,-0.095790154,0.019259249,   0.013184214,-0.087636758,0.012839499,   0.013184214,-0.095790154,0.019259249,   0.013184214,-0.095790154,0.032098748,   0.026368427,-0.090694282,0.012839499,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.87238861,0.42701183,   0.8478469,0.38998758,   0.87118065,0.33102762,   0.37283556,0.52564527,   0.27039689,0.59463229,   0.27039689,0.52564527,   0.34180297,0.47373665,   0.28946838,0.42707494,   0.34494369,0.4178146,   0.37283556,0.59463229,   0.27039689,0.59463229,   0.37283556,0.52564527,   0.35094673,0.4726057,   0.43959992,0.46506232,   0.43848894,0.52493002,   0.34788573,0.41658572,   0.40361209,0.42603121,   0.35094673,0.4726057,   0.74988285,0.49690379,   0.73181984,0.51368823,   0.69569381,0.51266068,   0.97465299,0.32972542,   1,0.43073914,   0.97586095,0.42570963,   0.34788573,0.12282778,   0.40288024,0.30607894,   0.34881957,0.30725159,   0.88614433,0.14950708,   0.88427371,0.00086813244,   0.95512589,0.14863894,   0.34788573,0.1245845,   0.25735572,0.13651423,   0.25974553,0.00095735221,   0.34788573,0.1245845,   0.29126052,0.30745978,   0.25735572,0.13651423,   0.3453436,0.30921244,   0.29126052,0.30745978,   0.34788573,0.1245845,   0.3453436,0.30921244,   0.3247573,0.37011618,   0.29126052,0.30745978,   0.81142009,0.00086813244,   0.80954947,0.14950708,   0.74243853,0,   0.089698763,0,   0.090362857,0.13550796,   0,0.1224487,   0.88427371,0.00086813244,   0.95325527,0,   0.95512589,0.14863894,   0.25974553,0.00095735221,   0.090362857,0.13550796,   0.089698763,0,   0.43701067,0,   0.43826049,0.13549932,   0.34788573,0.12282778,   0.60709694,0.00037757081,   0.43826049,0.13549932,   0.43701067,0,   0.2540093,0.52564527,   0.2532405,0.46583907,   0.34180297,0.47373665,   0.089101427,0.524854,   0.2532405,0.46583907,   0.2540093,0.52564527,   0.10243867,0.59463229,   0,0.59463229,   0.10243867,0.52564527,   0.60356305,0.52489295,   0.60252672,0.46509224,   0.69112471,0.47283539,   0.43848894,0.52493002,   0.60252672,0.46509224,   0.60356305,0.52489295,   0.80954947,0.14950708,   0.74056791,0.14863894,   0.74243853,0,   0,0.1224487,   0.054261789,0.30602025,   0.00018585565,0.30701992,   0.69569381,0.12370022,   0.60522221,0.13591175,   0.60709694,0.00037757081,   0.69377904,0.30812346,   0.63976826,0.30663925,   0.69569381,0.12370022,   0.69377904,0.30812346,   0.67352087,0.36908194,   0.63976826,0.30663925,   0.71983286,0.42570963,   0.69623068,0.38807949,   0.72104082,0.32972542,   0,0.59463229,   0,0.52564527,   0.10243867,0.52564527,   0.69112471,0.47283539,   0.63846346,0.42622023,   0.69419007,0.41675282,   0.0017842702,0.4718655,   0.090568186,0.46505998,   0.089101427,0.524854,   0,0.41606378,   0.054604358,0.42611694,   0.0017842702,0.4718655,   0.82451316,0.33102762,   0.84731003,0.43264723,   0.8233052,0.42701183,   0.00018585565,0.30701992,   0.054261789,0.30602025,   0.01986794,0.36819549,   0.63976826,0.30663925,   0.60522221,0.13591175,   0.69569381,0.12370022,   0.60522221,0.13591175,   0.43826049,0.13549932,   0.60709694,0.00037757081,   0.43826049,0.13549932,   0.40288024,0.30607894,   0.34788573,0.12282778,   0.40288024,0.30607894,   0.36867076,0.36843903,   0.34881957,0.30725159,   0.51097376,0.73308674,   0.51895676,0.69884085,   0.55596696,0.73905289,   0.46823589,0.73522152,   0.51895676,0.69884085,   0.51097376,0.73308674,   0.12329268,0.74204888,   0.14985256,0.70512071,   0.16485257,0.74979504,   0.40361209,0.42603121,   0.43959992,0.46506232,   0.35094673,0.4726057,   0.43959992,0.46506232,   0.60252672,0.46509224,   0.43848894,0.52493002,   0.60252672,0.46509224,   0.63846346,0.42622023,   0.69112471,0.47283539,   0.8040719,0.49587624,   0.76794587,0.49690379,   0.74988285,0.48011936,   0.041875043,0.74415712,   0.049839452,0.70583694,   0.081790966,0.7537692,   0,0.74996296,   0.049839452,0.70583694,   0.041875043,0.74415712,   0.65031641,0.61472564,   0.68539108,0.59463229,   0.68519504,0.62187645,   0.60157846,0.73434883,   0.62823031,0.70153694,   0.64418248,0.73834623,   0.8478469,0.38998758,   0.84731003,0.43264723,   0.82451316,0.33102762,   0.71375682,0.48011936,   0.74988285,0.4811469,   0.69569381,0.49690379,   0.082973083,0.59958422,   0.075838026,0.63633587,   0.041919478,0.60010809,   0.17471681,0.61935305,   0.21036489,0.66431136,   0.17207324,0.66193409,   0.21300846,0.62173031,   0.21036489,0.66431136,   0.17471681,0.61935305,   0.56224282,0.59463229,   0.59869056,0.63174193,   0.57187762,0.63128138,   0.25735572,0.13651423,   0.090362857,0.13550796,   0.25974553,0.00095735221,   0.090362857,0.13550796,   0.054261789,0.30602025,   0,0.1224487,   0.60752567,0.59770592,   0.59869056,0.63174193,   0.56224282,0.59463229,   0.65031641,0.59789088,   0.59869056,0.63174193,   0.60752567,0.59770592,   0.78869107,0.65735388,   0.75438635,0.69159116,   0.75416969,0.66452706,   0.041919478,0.60010809,   0.016655373,0.63871624,   0,0.59463229,   0.041919478,0.60010809,   0.075838026,0.63633587,   0.049434312,0.63851897,   0.054604358,0.42611694,   0.090568186,0.46505998,   0.0017842702,0.4718655,   0.090568186,0.46505998,   0.2532405,0.46583907,   0.089101427,0.524854,   0.2532405,0.46583907,   0.28946838,0.42707494,   0.34180297,0.47373665,   0.74988285,0.49793134,   0.78600888,0.49690379,   0.8040719,0.51368823,   0.12994453,0.59815351,   0.12065226,0.63617353,   0.088959659,0.5957218,   0.17207324,0.59463229,   0.12065226,0.63617353,   0.12994453,0.59815351,   0.78937866,0.65678958,   0.82378115,0.66451696,   0.82313018,0.69157811,   0.78937866,0.61412793,   0.82471608,0.59463229,   0.82407731,0.62185886,   0.51099396,0.59631447,   0.48515777,0.63100598,   0.46823589,0.59463229,   0.69569381,0.43073914,   0.69623068,0.38807949,   0.71983286,0.42570963,   0.55636779,0.73834623,   0.56840947,0.70241597,   0.60157846,0.73434883,   0.317511,0.67096334,   0.28186292,0.62600502,   0.32015457,0.62838229,   0.27921935,0.66858607,   0.28186292,0.62600502,   0.317511,0.67096334,   0.99946313,0.38807949,   1,0.43073914,   0.97465299,0.32972542,   0.082973083,0.74979504,   0.09268261,0.71363819,   0.12329268,0.74204888,   0.32279814,0.61935305,   0.35844622,0.66431136,   0.32015457,0.66193409,   0.36108979,0.62173031,   0.35844622,0.66431136,   0.32279814,0.61935305,   0.55596696,0.73905289,   0.51895676,0.69884085,   0.54550439,0.70263147,   0.84838377,0.43264723,   0.8478469,0.38998758,   0.87238861,0.42701183,   0.55636779,0.59521947,   0.54514316,0.6314133,   0.51099396,0.59631447,   0.46559232,0.67096334,   0.42994424,0.62600502,   0.46823589,0.62838229,   0.42730067,0.66858607,   0.42994424,0.62600502,   0.46559232,0.67096334,   0.088959659,0.5957218,   0.12065226,0.63617353,   0.094378572,0.6327654,   0.36108979,0.62173031,   0.36277212,0.59463229,   0.42994424,0.62600502,   0.36277212,0.59463229,   0.43162658,0.598907,   0.42994424,0.62600502,   0.09268261,0.71363819,   0.11711823,0.7033999,   0.12329268,0.74204888,   0.35844622,0.66431136,   0.42561834,0.69568409,   0.35676388,0.69140938,   0.42730067,0.66858607,   0.42561834,0.69568409,   0.35844622,0.66431136,   0.54514316,0.6314133,   0.51833566,0.63070355,   0.51099396,0.59631447,   0.11711823,0.7033999,   0.14985256,0.70512071,   0.12329268,0.74204888,   0.89215881,0.6926608,   0.89237509,0.66560913,   0.92695263,0.65901128,   0.89215881,0.6926608,   0.82378115,0.66451696,   0.89237509,0.66560913,   0.15338659,0.63789435,   0.12065226,0.63617353,   0.17207324,0.59463229,   0.82313018,0.69157811,   0.82378115,0.66451696,   0.89215881,0.6926608,   0.89343249,0.62296515,   0.89367376,0.59571711,   0.92842321,0.61637587,   0.89343249,0.62296515,   0.82471608,0.59463229,   0.89367376,0.59571711,   0.82407731,0.62185886,   0.82471608,0.59463229,   0.89343249,0.62296515,   0.48577887,0.69914328,   0.51895676,0.69884085,   0.46823589,0.73522152,   0.51833566,0.63070355,   0.48515777,0.63100598,   0.51099396,0.59631447,   0.68519504,0.62187645,   0.68539108,0.59463229,   0.75455906,0.62186971,   0.68556703,0.66453196,   0.68534913,0.69158777,   0.65109882,0.65737863,   0.68556703,0.66453196,   0.75438635,0.69159116,   0.68534913,0.69158777,   0.75416969,0.66452706,   0.75438635,0.69159116,   0.68556703,0.66453196,   0.75455906,0.62186971,   0.75435723,0.59463229,   0.78937866,0.61469732,   0.017060514,0.70603421,   0.049839452,0.70583694,   0,0.74996296,   0.049839452,0.70583694,   0.073772716,0.71720008,   0.081790966,0.7537692,   0.27753701,0.69568409,   0.21036489,0.66431136,   0.27921935,0.66858607,   0.20868256,0.69140938,   0.21036489,0.66431136,   0.27753701,0.69568409,   0.049434312,0.63851897,   0.016655373,0.63871624,   0.041919478,0.60010809,   0.56840947,0.70241597,   0.59509721,0.69978725,   0.60157846,0.73434883,   0.28186292,0.62600502,   0.21469079,0.59463229,   0.28354525,0.598907,   0.21300846,0.62173031,   0.21469079,0.59463229,   0.28186292,0.62600502,   0.59509721,0.69978725,   0.62823031,0.70153694,   0.60157846,0.73434883,   0.68539108,0.59463229,   0.75435723,0.59463229,   0.75455906,0.62186971,   0.63182366,0.63349163,   0.59869056,0.63174193,   0.65031641,0.59789088,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.697679188668226,0,-0.716410322161292,   0.697679188668226,0,-0.716410322161292,   0.697679188668226,0,-0.716410322161292,   0,0.819798893116326,-0.572651530029604,   0,0.819798893116326,-0.572651530029604,   0,0.819798893116326,-0.572651530029604,   0.871012181704649,0.281689042543231,-0.40247864866746,   0.871012181704649,0.281689042543231,-0.40247864866746,   0.871012181704649,0.281689042543231,-0.40247864866746,   0,0.819798893116326,-0.572651530029604,   0,0.819798893116326,-0.572651530029604,   0,0.819798893116326,-0.572651530029604,   -0.769288457799037,0.523770833609908,-0.365867985148688,   -0.769288457799037,0.523770833609908,-0.365867985148688,   -0.769288457799037,0.523770833609908,-0.365867985148688,   -0.871012181704649,0.281689042543231,-0.40247864866746,   -0.871012181704649,0.281689042543231,-0.40247864866746,   -0.871012181704649,0.281689042543231,-0.40247864866746,   -0.071665739535054,0.927080101354493,-0.367949055508282,   -0.071665739535054,0.927080101354493,-0.367949055508282,   -0.071665739535054,0.927080101354493,-0.367949055508282,   -0.697679188668226,0,-0.716410322161292,   -0.697679188668226,0,-0.716410322161292,   -0.697679188668226,0,-0.716410322161292,   -0.940855712845182,-0.0894931614290562,-0.326774389547311,   -0.940855712845182,-0.0894931614290562,-0.326774389547311,   -0.940855712845182,-0.0894931614290562,-0.326774389547311,   0,-0.564942546463801,-0.8251302437767,   0,-0.564942546463801,-0.8251302437767,   0,-0.564942546463801,-0.8251302437767,   0.905959579436984,-0.239176445616503,-0.349330600275182,   0.905959579436984,-0.239176445616503,-0.349330600275182,   0.905959579436984,-0.239176445616503,-0.349330600275182,   0.924954131450289,-0.0734071363897106,-0.372922575128007,   0.924954131450289,-0.0734071363897106,-0.372922575128007,   0.924954131450289,-0.0734071363897106,-0.372922575128007,   0.940855712845182,-0.0894931614290562,-0.326774389547311,   0.940855712845182,-0.0894931614290562,-0.326774389547311,   0.940855712845182,-0.0894931614290562,-0.326774389547311,   0.927862989412006,-0.179149102930618,-0.32707166156451,   0.927862989412006,-0.179149102930618,-0.32707166156451,   0.927862989412006,-0.179149102930618,-0.32707166156451,   0,-0.564942546463801,0.8251302437767,   0,-0.564942546463801,0.8251302437767,   0,-0.564942546463801,0.8251302437767,   0.905959579436984,-0.239176445616503,0.349330600275182,   0.905959579436984,-0.239176445616503,0.349330600275182,   0.905959579436984,-0.239176445616503,0.349330600275182,   0,-0.564942546463801,-0.8251302437767,   0,-0.564942546463801,-0.8251302437767,   0,-0.564942546463801,-0.8251302437767,   0.966873028199152,-0.255257805641673,0,   0.966873028199152,-0.255257805641673,0,   0.966873028199152,-0.255257805641673,0,   -0.905959579436984,-0.239176445616503,-0.349330600275182,   -0.905959579436984,-0.239176445616503,-0.349330600275182,   -0.905959579436984,-0.239176445616503,-0.349330600275182,   -0.966873028199152,-0.255257805641673,0,   -0.966873028199152,-0.255257805641673,0,   -0.966873028199152,-0.255257805641673,0,   0.769288457799037,0.523770833609908,-0.365867985148688,   0.769288457799037,0.523770833609908,-0.365867985148688,   0.769288457799037,0.523770833609908,-0.365867985148688,   0.826599263222095,0.562790954121234,0,   0.826599263222095,0.562790954121234,0,   0.826599263222095,0.562790954121234,0,   0,0.819798893116326,0.572651530029604,   0,0.819798893116326,0.572651530029604,   0,0.819798893116326,0.572651530029604,   -0.769288457799037,0.523770833609908,0.365867985148688,   -0.769288457799037,0.523770833609908,0.365867985148688,   -0.769288457799037,0.523770833609908,0.365867985148688,   -0.826599263222095,0.562790954121234,0,   -0.826599263222095,0.562790954121234,0,   -0.826599263222095,0.562790954121234,0,   0,-0.564942546463801,0.8251302437767,   0,-0.564942546463801,0.8251302437767,   0,-0.564942546463801,0.8251302437767,   0.940855712845182,-0.0894931614290562,0.326774389547311,   0.940855712845182,-0.0894931614290562,0.326774389547311,   0.940855712845182,-0.0894931614290562,0.326774389547311,   -0.905959579436984,-0.239176445616503,0.349330600275182,   -0.905959579436984,-0.239176445616503,0.349330600275182,   -0.905959579436984,-0.239176445616503,0.349330600275182,   -0.940855712845182,-0.0894931614290562,0.326774389547311,   -0.940855712845182,-0.0894931614290562,0.326774389547311,   -0.940855712845182,-0.0894931614290562,0.326774389547311,   -0.927862989412006,-0.179149102930618,0.32707166156451,   -0.927862989412006,-0.179149102930618,0.32707166156451,   -0.927862989412006,-0.179149102930618,0.32707166156451,   -0.697679188668226,0,0.716410322161292,   -0.697679188668226,0,0.716410322161292,   -0.697679188668226,0,0.716410322161292,   0,0.819798893116326,0.572651530029604,   0,0.819798893116326,0.572651530029604,   0,0.819798893116326,0.572651530029604,   -0.871012181704649,0.281689042543231,0.40247864866746,   -0.871012181704649,0.281689042543231,0.40247864866746,   -0.871012181704649,0.281689042543231,0.40247864866746,   0.769288457799037,0.523770833609908,0.365867985148688,   0.769288457799037,0.523770833609908,0.365867985148688,   0.769288457799037,0.523770833609908,0.365867985148688,   0.871012181704649,0.281689042543231,0.40247864866746,   0.871012181704649,0.281689042543231,0.40247864866746,   0.871012181704649,0.281689042543231,0.40247864866746,   0.697679188668226,0,0.716410322161292,   0.697679188668226,0,0.716410322161292,   0.697679188668226,0,0.716410322161292,   0.927862989412006,-0.179149102930618,0.32707166156451,   0.927862989412006,-0.179149102930618,0.32707166156451,   0.927862989412006,-0.179149102930618,0.32707166156451,   -0.924954131450289,-0.0734071363897106,0.372922575128007,   -0.924954131450289,-0.0734071363897106,0.372922575128007,   -0.924954131450289,-0.0734071363897106,0.372922575128007,   -0.966873028199152,-0.255257805641673,0,   -0.966873028199152,-0.255257805641673,0,   -0.966873028199152,-0.255257805641673,0,   -0.924954131450289,-0.0734071363897106,-0.372922575128007,   -0.924954131450289,-0.0734071363897106,-0.372922575128007,   -0.924954131450289,-0.0734071363897106,-0.372922575128007,   -0.927862989412006,-0.179149102930618,-0.32707166156451,   -0.927862989412006,-0.179149102930618,-0.32707166156451,   -0.927862989412006,-0.179149102930618,-0.32707166156451,   0.167146614534421,0.900931803051576,0.400479581876428,   0.167146614534421,0.900931803051576,0.400479581876428,   0.167146614534421,0.900931803051576,0.400479581876428,   0.0149830372744522,0.969112382950262,-0.246163965288377,   0.0149830372744522,0.969112382950262,-0.246163965288377,   0.0149830372744522,0.969112382950262,-0.246163965288377,   0.575808218910719,-0.792420486779732,-0.20128255554478,   0.575808218910719,-0.792420486779732,-0.20128255554478,   0.575808218910719,-0.792420486779732,-0.20128255554478,   -0.870582181246858,0.304378328206141,-0.386575347136748,   -0.870582181246858,0.304378328206141,-0.386575347136748,   -0.870582181246858,0.304378328206141,-0.386575347136748,   -0.826599263222095,0.562790954121234,0,   -0.826599263222095,0.562790954121234,0,   -0.826599263222095,0.562790954121234,0,   -0.870582181246858,0.304378328206141,0.386575347136748,   -0.870582181246858,0.304378328206141,0.386575347136748,   -0.870582181246858,0.304378328206141,0.386575347136748,   -0.071665739535054,0.927080101354493,0.367949055508282,   -0.071665739535054,0.927080101354493,0.367949055508282,   -0.071665739535054,0.927080101354493,0.367949055508282,   0.485579201993178,-0.872435372034189,-0.0554018069672339,   0.485579201993178,-0.872435372034189,-0.0554018069672339,   0.485579201993178,-0.872435372034189,-0.0554018069672339,   0.421289658948469,-0.879012010405748,0.223277649632757,   0.421289658948469,-0.879012010405748,0.223277649632757,   0.421289658948469,-0.879012010405748,0.223277649632757,   -0.142010352558384,0.612356513418972,0.777722675662478,   -0.142010352558384,0.612356513418972,0.777722675662478,   -0.142010352558384,0.612356513418972,0.777722675662478,   0.246855785729793,0.939225944104057,0.238572519317649,   0.246855785729793,0.939225944104057,0.238572519317649,   0.246855785729793,0.939225944104057,0.238572519317649,   0.697679188668226,0,0.716410322161292,   0.697679188668226,0,0.716410322161292,   0.697679188668226,0,0.716410322161292,   0.071665739535054,0.927080101354493,0.367949055508282,   0.071665739535054,0.927080101354493,0.367949055508282,   0.071665739535054,0.927080101354493,0.367949055508282,   0.0308442337175191,-0.997514955271879,-0.0633446702992413,   0.0308442337175191,-0.997514955271879,-0.0633446702992413,   0.0308442337175191,-0.997514955271879,-0.0633446702992413,   0.437785991334656,0,-0.899079209964913,   0.437785991334656,0,-0.899079209964913,   0.437785991334656,0,-0.899079209964913,   0.437785991334656,0,-0.899079209964913,   0.437785991334656,0,-0.899079209964913,   0.437785991334656,0,-0.899079209964913,   0.357315578834721,0.577786724176991,-0.733817469461467,   0.357315578834721,0.577786724176991,-0.733817469461467,   0.357315578834721,0.577786724176991,-0.733817469461467,   0.966873028199152,-0.255257805641673,0,   0.966873028199152,-0.255257805641673,0,   0.966873028199152,-0.255257805641673,0,   0.924954131450289,-0.0734071363897106,0.372922575128007,   0.924954131450289,-0.0734071363897106,0.372922575128007,   0.924954131450289,-0.0734071363897106,0.372922575128007,   -0.167146614534421,0.900931803051576,-0.400479581876428,   -0.167146614534421,0.900931803051576,-0.400479581876428,   -0.167146614534421,0.900931803051576,-0.400479581876428,   -0.0149830372744522,0.969112382950262,0.246163965288377,   -0.0149830372744522,0.969112382950262,0.246163965288377,   -0.0149830372744522,0.969112382950262,0.246163965288377,   -0.142010307048867,-0.612356517457977,0.777722680792212,   -0.142010307048867,-0.612356517457977,0.777722680792212,   -0.142010307048867,-0.612356517457977,0.777722680792212,   -0.575808218910719,-0.792420486779732,0.20128255554478,   -0.575808218910719,-0.792420486779732,0.20128255554478,   -0.575808218910719,-0.792420486779732,0.20128255554478,   -0.46555236260415,-0.547496700631993,-0.695347654393668,   -0.46555236260415,-0.547496700631993,-0.695347654393668,   -0.46555236260415,-0.547496700631993,-0.695347654393668,   0.870582181246858,0.304378328206141,0.386575347136748,   0.870582181246858,0.304378328206141,0.386575347136748,   0.870582181246858,0.304378328206141,0.386575347136748,   0.826599263222095,0.562790954121234,0,   0.826599263222095,0.562790954121234,0,   0.826599263222095,0.562790954121234,0,   0.870582181246858,0.304378328206141,-0.386575347136748,   0.870582181246858,0.304378328206141,-0.386575347136748,   0.870582181246858,0.304378328206141,-0.386575347136748,   0.071665739535054,0.927080101354493,-0.367949055508282,   0.071665739535054,0.927080101354493,-0.367949055508282,   0.071665739535054,0.927080101354493,-0.367949055508282,   -0.485579201993178,-0.872435372034189,0.0554018069672339,   -0.485579201993178,-0.872435372034189,0.0554018069672339,   -0.485579201993178,-0.872435372034189,0.0554018069672339,   -0.421289658948469,-0.879012010405748,-0.223277649632757,   -0.421289658948469,-0.879012010405748,-0.223277649632757,   -0.421289658948469,-0.879012010405748,-0.223277649632757,   -0.142010307048867,-0.612356517457977,-0.777722680792212,   -0.142010307048867,-0.612356517457977,-0.777722680792212,   -0.142010307048867,-0.612356517457977,-0.777722680792212,   0.142010352558384,0.612356513418972,-0.777722675662478,   0.142010352558384,0.612356513418972,-0.777722675662478,   0.142010352558384,0.612356513418972,-0.777722675662478,   -0.246855785729793,0.939225944104057,-0.238572519317649,   -0.246855785729793,0.939225944104057,-0.238572519317649,   -0.246855785729793,0.939225944104057,-0.238572519317649,   -0.697679188668226,0,0.716410322161292,   -0.697679188668226,0,0.716410322161292,   -0.697679188668226,0,0.716410322161292,   -0.194028053612435,0.89642128671509,-0.398474580287668,   -0.194028053612435,0.89642128671509,-0.398474580287668,   -0.194028053612435,0.89642128671509,-0.398474580287668,   -0.437785991334656,0,-0.899079209964913,   -0.437785991334656,0,-0.899079209964913,   -0.437785991334656,0,-0.899079209964913,   -0.437785991334656,0,-0.899079209964913,   -0.437785991334656,0,-0.899079209964913,   -0.437785991334656,0,-0.899079209964913,   -0.697679188668226,0,-0.716410322161292,   -0.697679188668226,0,-0.716410322161292,   -0.697679188668226,0,-0.716410322161292,   -0.0308442337175191,-0.997514955271879,0.0633446702992413,   -0.0308442337175191,-0.997514955271879,0.0633446702992413,   -0.0308442337175191,-0.997514955271879,0.0633446702992413,   -0.437785991334656,0,0.899079209964913,   -0.437785991334656,0,0.899079209964913,   -0.437785991334656,0,0.899079209964913,   -0.437785991334656,0,0.899079209964913,   -0.437785991334656,0,0.899079209964913,   -0.437785991334656,0,0.899079209964913,   -0.357315578834721,0.577786724176991,0.733817469461467,   -0.357315578834721,0.577786724176991,0.733817469461467,   -0.357315578834721,0.577786724176991,0.733817469461467,   0.697679188668226,0,-0.716410322161292,   0.697679188668226,0,-0.716410322161292,   0.697679188668226,0,-0.716410322161292,   0.194028053612435,0.89642128671509,0.398474580287668,   0.194028053612435,0.89642128671509,0.398474580287668,   0.194028053612435,0.89642128671509,0.398474580287668,   0.437785991334656,0,0.899079209964913,   0.437785991334656,0,0.899079209964913,   0.437785991334656,0,0.899079209964913,   0.437785991334656,0,0.899079209964913,   0.437785991334656,0,0.899079209964913,   0.437785991334656,0,0.899079209964913,   0.357315578834721,-0.577786724176991,0.733817469461467,   0.357315578834721,-0.577786724176991,0.733817469461467,   0.357315578834721,-0.577786724176991,0.733817469461467,   0,0.618626123574429,0.785685509113714,   0,0.618626123574429,0.785685509113714,   0,0.618626123574429,0.785685509113714,   0,0.618626123574429,0.785685509113714,   0,0.618626123574429,0.785685509113714,   0,0.618626123574429,0.785685509113714,   0.46555236260415,-0.547496700631993,0.695347654393668,   0.46555236260415,-0.547496700631993,0.695347654393668,   0.46555236260415,-0.547496700631993,0.695347654393668,   0,-0.618626123574429,0.785685509113714,   0,-0.618626123574429,0.785685509113714,   0,-0.618626123574429,0.785685509113714,   0,-0.618626123574429,0.785685509113714,   0,-0.618626123574429,0.785685509113714,   0,-0.618626123574429,0.785685509113714,   -0.23255185853227,0.60166586851021,0.764145153595207,   -0.23255185853227,0.60166586851021,0.764145153595207,   -0.23255185853227,0.60166586851021,0.764145153595207,   0.475910331919106,-0.879493806671,0,   0.475910331919106,-0.879493806671,0,   0.475910331919106,-0.879493806671,0,   0.142010307048867,-0.612356517457977,-0.777722680792212,   0.142010307048867,-0.612356517457977,-0.777722680792212,   0.142010307048867,-0.612356517457977,-0.777722680792212,   0,-0.618626183059454,-0.785685462276915,   0,-0.618626183059454,-0.785685462276915,   0,-0.618626183059454,-0.785685462276915,   -0.647793927708661,-0.76181561235235,0,   -0.647793927708661,-0.76181561235235,0,   -0.647793927708661,-0.76181561235235,0,   0,-0.618626183059454,-0.785685462276916,   0,-0.618626183059454,-0.785685462276916,   0,-0.618626183059454,-0.785685462276916,   -0.142010352558384,0.612356513418971,-0.777722675662478,   -0.142010352558384,0.612356513418971,-0.777722675662478,   -0.142010352558384,0.612356513418971,-0.777722675662478,   0,0.618626183059454,-0.785685462276915,   0,0.618626183059454,-0.785685462276915,   0,0.618626183059454,-0.785685462276915,   0,0.618626183059454,-0.785685462276915,   0,0.618626183059454,-0.785685462276915,   0,0.618626183059454,-0.785685462276915,   0.36052063983493,0.932751235996508,0,   0.36052063983493,0.932751235996508,0,   0.36052063983493,0.932751235996508,0,   -0.0770727411496932,0.997025472378551,0,   -0.0770727411496932,0.997025472378551,0,   -0.0770727411496932,0.997025472378551,0,   0,0.618626183059454,0.785685462276915,   0,0.618626183059454,0.785685462276915,   0,0.618626183059454,0.785685462276915,   0.142010307048867,-0.612356517457977,0.777722680792212,   0.142010307048867,-0.612356517457977,0.777722680792212,   0.142010307048867,-0.612356517457977,0.777722680792212,   0,-0.618626183059454,0.785685462276915,   0,-0.618626183059454,0.785685462276915,   0,-0.618626183059454,0.785685462276915,   0,-0.618626183059454,0.785685462276916,   0,-0.618626183059454,0.785685462276916,   0,-0.618626183059454,0.785685462276916,   0.142010352558384,0.612356513418971,0.777722675662478,   0.142010352558384,0.612356513418971,0.777722675662478,   0.142010352558384,0.612356513418971,0.777722675662478,   0.647793927708661,-0.76181561235235,0,   0.647793927708661,-0.76181561235235,0,   0.647793927708661,-0.76181561235235,0,   -0.357315578834721,-0.577786724176991,-0.733817469461467,   -0.357315578834721,-0.577786724176991,-0.733817469461467,   -0.357315578834721,-0.577786724176991,-0.733817469461467,   0,-0.618626123574429,-0.785685509113714,   0,-0.618626123574429,-0.785685509113714,   0,-0.618626123574429,-0.785685509113714,   0,-0.618626123574429,-0.785685509113714,   0,-0.618626123574429,-0.785685509113714,   0,-0.618626123574429,-0.785685509113714,   -0.475910331919106,-0.879493806671,0,   -0.475910331919106,-0.879493806671,0,   -0.475910331919106,-0.879493806671,0,   0.23255185853227,0.60166586851021,-0.764145153595207,   0.23255185853227,0.60166586851021,-0.764145153595207,   0.23255185853227,0.60166586851021,-0.764145153595207,   0,0.618626123574429,-0.785685509113714,   0,0.618626123574429,-0.785685509113714,   0,0.618626123574429,-0.785685509113714,   0,0.618626123574429,-0.785685509113714,   0,0.618626123574429,-0.785685509113714,   0,0.618626123574429,-0.785685509113714,   0.0770727411496932,0.997025472378551,0,   0.0770727411496932,0.997025472378551,0,   0.0770727411496932,0.997025472378551,0,   0,0.618626183059454,0.785685462276915,   0,0.618626183059454,0.785685462276915,   0,0.618626183059454,0.785685462276915,   -0.36052063983493,0.932751235996508,0,   -0.36052063983493,0.932751235996508,0,   -0.36052063983493,0.932751235996508,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 360 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 360 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Cursor'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.25,0.5,0.5,   0.25,0.5,0.5,   0.25,0.51,0.5,   -0.25,0.51,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,0.5,0.5,   -0.5,0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.25,0.45,   0.75,0.45,   0.75,0.55,   0.25,0.55,   0,0,   1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 8 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_QUADS, 0, 8 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Cursor'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.01,0.51,-0.5,   0.01,0.51,-0.5,   0.01,0.5,-0.5,   -0.01,0.5,-0.5,   -0.5,0.5,-0.5,   0.5,0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.51,0.55,   0.49,0.55,   0.49,0.45,   0.51,0.45,   1,1,   0,1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 8 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_QUADS, 0, 8 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Cursor'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.25,0.51,0.5,   0.01,0.51,-0.5,   -0.01,0.51,-0.5,   -0.25,0.51,0.5,   0.5,0.5,0.5,   0.5,0.5,-0.5,   -0.5,0.5,-0.5,   -0.5,0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.75,0,   0.51,1,   0.49,1,   0.25,0,   1,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 8 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_QUADS, 0, 8 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Cursor'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.5,0.5,   -0.5,0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1,   0,1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 4 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_QUADS, 0, 4 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Cursor'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.5,-0.5,   0.5,0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 4 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_QUADS, 0, 4 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Cursor'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.25,0.5,0.5,   -0.01,0.5,-0.5,   0.01,0.5,-0.5,   0.25,0.5,0.5,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.75,0,   0.51,1,   0.49,1,   0.25,0,   1,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 8 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_QUADS, 0, 8 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Cursor'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.25,0.51,0.5,   -0.01,0.51,-0.5,   -0.01,0.5,-0.5,   -0.25,0.5,0.5,   0.25,0.5,0.5,   0.01,0.5,-0.5,   0.01,0.51,-0.5,   0.25,0.51,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1.01419841,0.55,   -0.014198405,0.55,   -0.014198405,0.45,   1.01419841,0.45,   -0.014198405,0.45,   1.01419841,0.45,   1.01419841,0.55,   -0.014198405,0.55,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.972387301980518,0,-0.233372952475324,   -0.972387301980518,0,-0.233372952475324,   -0.972387301980518,0,-0.233372952475324,   -0.972387301980518,0,-0.233372952475324,   0.972387301980518,0,-0.233372952475324,   0.972387301980518,0,-0.233372952475324,   0.972387301980518,0,-0.233372952475324,   0.972387301980518,0,-0.233372952475324,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 8 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_QUADS, 0, 8 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Floor'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,0.1,   0,0.1,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Floor'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0.1,   1,0,   0,0.1,   0,0,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Floor'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Floor'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0,   1,0,   1,0.1,   0,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Floor'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0.1,   0,0.1,   0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Floor'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Fortif'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.25,-0.4,0.5,   -0.5,-0.4,0.5,   -0.5,-0.5,0.5,   -0.125,-0.4,0.5,   -0.25,-0.4,0.5,   0.5,-0.4,0.5,   0.25,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.125,-0.4,0.5,   -0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.125,-0.4,0.5,   -0.125,-0.4,0.5,   0.5,-0.5,0.5,   0.25,-0.4,0.5,   0.125,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.25,0.1,   0,0.1,   0,0,   0.375,0.1,   0.25,0.1,   1,0.1,   0.75,0.1,   1,0,   1,0,   0.375,0.1,   0,0,   1,0,   0.625,0.1,   0.375,0.1,   1,0,   0.75,0.1,   0.625,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Fortif'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.125,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   -0.25,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.25,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.25,-0.4,-0.5,   -0.125,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.125,-0.4,-0.5,   0.125,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.125,-0.4,-0.5,   0.25,-0.4,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.375,0.1,   0,0,   1,0.1,   0.75,0.1,   1,0,   0,0,   0.25,0.1,   0,0.1,   0.75,0.1,   0.625,0.1,   1,0,   0.625,0.1,   0.375,0.1,   1,0,   0.375,0.1,   0.25,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Fortif'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.125,-0.4,0.5,   -0.25,-0.4,0.25,   -0.25,-0.4,0.5,   -0.125,-0.4,0.5,   -0.125,-0.4,0.25,   -0.25,-0.4,0.25,   0.25,-0.4,0.5,   0.125,-0.4,0.25,   0.125,-0.4,0.5,   0.25,-0.4,0.5,   0.25,-0.4,0.25,   0.125,-0.4,0.25,   -0.5,-0.4,0.25,   -0.25,-0.4,0.25,   -0.5,-0.4,0.125,   -0.5,-0.4,-0.125,   -0.25,-0.4,-0.125,   -0.5,-0.4,-0.25,   0.5,-0.4,0.25,   0.25,-0.4,0.125,   0.25,-0.4,0.25,   0.5,-0.4,0.125,   0.25,-0.4,0.125,   0.5,-0.4,0.25,   0.5,-0.4,-0.125,   0.25,-0.4,-0.25,   0.25,-0.4,-0.125,   0.5,-0.4,-0.25,   0.25,-0.4,-0.25,   0.5,-0.4,-0.125,   -0.25,-0.4,-0.5,   -0.125,-0.4,-0.25,   -0.125,-0.4,-0.5,   0.125,-0.4,-0.5,   0.25,-0.4,-0.25,   0.25,-0.4,-0.5,   -0.25,-0.4,0.25,   -0.25,-0.4,0.125,   -0.5,-0.4,0.125,   -0.25,-0.4,0.25,   -0.125,-0.4,0.125,   -0.25,-0.4,0.125,   -0.125,-0.4,0.25,   -0.125,-0.4,0.125,   -0.25,-0.4,0.25,   0.125,-0.4,0.25,   -0.125,-0.4,0.125,   -0.125,-0.4,0.25,   0.125,-0.4,0.25,   0.125,-0.4,0.125,   -0.125,-0.4,0.125,   0.125,-0.4,0.25,   0.25,-0.4,0.125,   0.125,-0.4,0.125,   0.25,-0.4,0.25,   0.25,-0.4,0.125,   0.125,-0.4,0.25,   -0.125,-0.4,0.125,   -0.25,-0.4,-0.125,   -0.25,-0.4,0.125,   -0.125,-0.4,0.125,   -0.125,-0.4,-0.125,   -0.25,-0.4,-0.125,   0.25,-0.4,0.125,   0.125,-0.4,-0.125,   0.125,-0.4,0.125,   0.25,-0.4,0.125,   0.25,-0.4,-0.125,   0.125,-0.4,-0.125,   -0.25,-0.4,-0.125,   -0.25,-0.4,-0.25,   -0.5,-0.4,-0.25,   -0.25,-0.4,-0.125,   -0.125,-0.4,-0.25,   -0.25,-0.4,-0.25,   -0.125,-0.4,-0.125,   -0.125,-0.4,-0.25,   -0.25,-0.4,-0.125,   0.125,-0.4,-0.125,   -0.125,-0.4,-0.25,   -0.125,-0.4,-0.125,   0.125,-0.4,-0.125,   0.125,-0.4,-0.25,   -0.125,-0.4,-0.25,   0.125,-0.4,-0.125,   0.25,-0.4,-0.25,   0.125,-0.4,-0.25,   0.25,-0.4,-0.125,   0.25,-0.4,-0.25,   0.125,-0.4,-0.125,   -0.25,-0.4,-0.25,   -0.125,-0.4,-0.25,   -0.25,-0.4,-0.5,   0.125,-0.4,-0.25,   0.25,-0.4,-0.25,   0.125,-0.4,-0.5,   -0.25125,0.5,0.25125,   -0.49875,0.5,0.25125,   -0.25125,0.5,0.49875,   -0.49875,0.5,0.25125,   -0.49875,0.5,0.49875,   -0.25125,0.5,0.49875,   -0.25125,0.5,-0.12375,   -0.49875,0.5,-0.12375,   -0.25125,0.5,0.12375,   -0.49875,0.5,-0.12375,   -0.49875,0.5,0.12375,   -0.25125,0.5,0.12375,   -0.25125,0.5,-0.49875,   -0.49875,0.5,-0.49875,   -0.25125,0.5,-0.25125,   -0.49875,0.5,-0.49875,   -0.49875,0.5,-0.25125,   -0.25125,0.5,-0.25125,   0.12375,0.5,0.25125,   -0.12375,0.5,0.25125,   0.12375,0.5,0.49875,   -0.12375,0.5,0.25125,   -0.12375,0.5,0.49875,   0.12375,0.5,0.49875,   0.49875,0.5,0.25125,   0.25125,0.5,0.25125,   0.49875,0.5,0.49875,   0.25125,0.5,0.25125,   0.25125,0.5,0.49875,   0.49875,0.5,0.49875,   0.12375,0.5,-0.12375,   -0.12375,0.5,-0.12375,   0.12375,0.5,0.12375,   -0.12375,0.5,-0.12375,   -0.12375,0.5,0.12375,   0.12375,0.5,0.12375,   0.49875,0.5,-0.12375,   0.25125,0.5,-0.12375,   0.49875,0.5,0.12375,   0.25125,0.5,-0.12375,   0.25125,0.5,0.12375,   0.49875,0.5,0.12375,   0.12375,0.5,-0.49875,   -0.12375,0.5,-0.49875,   0.12375,0.5,-0.25125,   -0.12375,0.5,-0.49875,   -0.12375,0.5,-0.25125,   0.12375,0.5,-0.25125,   0.49875,0.5,-0.49875,   0.25125,0.5,-0.49875,   0.49875,0.5,-0.25125,   0.25125,0.5,-0.49875,   0.25125,0.5,-0.25125,   0.49875,0.5,-0.25125,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.375,0,   0.25,0.25,   0.25,0,   0.375,0,   0.375,0.25,   0.25,0.25,   0.75,0,   0.625,0.25,   0.625,0,   0.75,0,   0.75,0.25,   0.625,0.25,   0,0.25,   0.25,0.25,   0,0.375,   0,0.625,   0.25,0.625,   0,0.75,   1,0.25,   0.75,0.375,   0.75,0.25,   1,0.375,   0.75,0.375,   1,0.25,   1,0.625,   0.75,0.75,   0.75,0.625,   1,0.75,   0.75,0.75,   1,0.625,   0.25,1,   0.375,0.75,   0.375,1,   0.625,1,   0.75,0.75,   0.75,1,   0.25,0.25,   0.25,0.375,   0,0.375,   0.25,0.25,   0.375,0.375,   0.25,0.375,   0.375,0.25,   0.375,0.375,   0.25,0.25,   0.625,0.25,   0.375,0.375,   0.375,0.25,   0.625,0.25,   0.625,0.375,   0.375,0.375,   0.625,0.25,   0.75,0.375,   0.625,0.375,   0.75,0.25,   0.75,0.375,   0.625,0.25,   0.375,0.375,   0.25,0.625,   0.25,0.375,   0.375,0.375,   0.375,0.625,   0.25,0.625,   0.75,0.375,   0.625,0.625,   0.625,0.375,   0.75,0.375,   0.75,0.625,   0.625,0.625,   0.25,0.625,   0.25,0.75,   0,0.75,   0.25,0.625,   0.375,0.75,   0.25,0.75,   0.375,0.625,   0.375,0.75,   0.25,0.625,   0.625,0.625,   0.375,0.75,   0.375,0.625,   0.625,0.625,   0.625,0.75,   0.375,0.75,   0.625,0.625,   0.75,0.75,   0.625,0.75,   0.75,0.625,   0.75,0.75,   0.625,0.625,   0.25,0.75,   0.375,0.75,   0.25,1,   0.625,0.75,   0.75,0.75,   0.625,1,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   0.25,0.25,   0,0.25,   0.25,0,   0,0.25,   0,0,   0.25,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 150 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 150 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Fortif'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.4,-0.125,   -0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.25,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.25,   -0.5,-0.4,-0.5,   -0.5,-0.4,0.25,   -0.5,-0.4,0.125,   -0.5,-0.5,0.5,   -0.5,-0.4,0.125,   -0.5,-0.4,-0.125,   -0.5,-0.5,0.5,   -0.5,-0.4,-0.125,   -0.5,-0.4,-0.25,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.375,0.1,   0,0,   1,0.1,   0.75,0.1,   1,0,   0,0,   0.25,0.1,   0,0.1,   0.75,0.1,   0.625,0.1,   1,0,   0.625,0.1,   0.375,0.1,   1,0,   0.375,0.1,   0.25,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Fortif'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,0.25,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.125,   0.5,-0.4,0.25,   0.5,-0.5,0.5,   0.5,-0.4,-0.125,   0.5,-0.4,0.125,   0.5,-0.4,-0.5,   0.5,-0.4,-0.25,   0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.125,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.25,   0.5,-0.4,-0.125,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   0.25,0.1,   0,0.1,   0,0,   0.375,0.1,   0.25,0.1,   0,0,   0.625,0.1,   0.375,0.1,   1,0.1,   0.75,0.1,   1,0,   1,0,   0.625,0.1,   0,0,   1,0,   0.75,0.1,   0.625,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Fortif'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   1,1,   0,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Fortif'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.49875,0.5,0.25125,   -0.5,-0.4,0.25,   0.25,-0.4,0.5,   0.25125,0.5,0.25125,   0.25,-0.4,0.25,   -0.5,-0.4,-0.25,   -0.49875,0.5,-0.49875,   -0.5,-0.4,-0.5,   0.25,-0.4,-0.25,   0.25125,0.5,-0.49875,   0.25,-0.4,-0.5,   -0.5,-0.4,0.5,   -0.49875,0.5,0.49875,   -0.49875,0.5,0.25125,   0.25,-0.4,0.5,   0.25125,0.5,0.49875,   0.25125,0.5,0.25125,   -0.5,-0.4,-0.25,   -0.49875,0.5,-0.25125,   -0.49875,0.5,-0.49875,   0.25,-0.4,-0.25,   0.25125,0.5,-0.25125,   0.25125,0.5,-0.49875,   0.5,-0.4,0.5,   0.49875,0.5,0.49875,   0.25,-0.4,0.5,   -0.25,-0.4,0.5,   -0.25125,0.5,0.49875,   -0.5,-0.4,0.5,   0.5,-0.4,-0.25,   0.49875,0.5,-0.25125,   0.25,-0.4,-0.25,   -0.25,-0.4,-0.25,   -0.25125,0.5,-0.25125,   -0.5,-0.4,-0.25,   -0.5,-0.4,-0.5,   -0.49875,0.5,-0.49875,   -0.25,-0.4,-0.5,   -0.5,-0.4,0.25,   -0.49875,0.5,0.25125,   -0.25,-0.4,0.25,   0.25,-0.4,-0.5,   0.25125,0.5,-0.49875,   0.5,-0.4,-0.5,   0.25,-0.4,0.25,   0.25125,0.5,0.25125,   0.5,-0.4,0.25,   0.5,-0.4,-0.5,   0.49875,0.5,-0.25125,   0.5,-0.4,-0.25,   0.5,-0.4,0.25,   0.49875,0.5,0.49875,   0.5,-0.4,0.5,   -0.25,-0.4,-0.5,   -0.25125,0.5,-0.25125,   -0.25,-0.4,-0.25,   -0.25,-0.4,0.25,   -0.25125,0.5,0.49875,   -0.25,-0.4,0.5,   0.5,-0.4,-0.5,   0.49875,0.5,-0.49875,   0.49875,0.5,-0.25125,   0.5,-0.4,0.25,   0.49875,0.5,0.25125,   0.49875,0.5,0.49875,   -0.25,-0.4,-0.5,   -0.25125,0.5,-0.49875,   -0.25125,0.5,-0.25125,   -0.25,-0.4,0.25,   -0.25125,0.5,0.25125,   -0.25125,0.5,0.49875,   0.5,-0.4,-0.5,   0.25125,0.5,-0.49875,   0.49875,0.5,-0.49875,   0.5,-0.4,0.25,   0.25125,0.5,0.25125,   0.49875,0.5,0.25125,   -0.25,-0.4,-0.5,   -0.49875,0.5,-0.49875,   -0.25125,0.5,-0.49875,   -0.25,-0.4,0.25,   -0.49875,0.5,0.25125,   -0.25125,0.5,0.25125,   -0.125,-0.4,0.5,   -0.12375,0.5,0.25125,   -0.125,-0.4,0.25,   -0.125,-0.4,-0.25,   -0.12375,0.5,-0.49875,   -0.125,-0.4,-0.5,   -0.125,-0.4,0.5,   -0.12375,0.5,0.49875,   -0.12375,0.5,0.25125,   -0.125,-0.4,-0.25,   -0.12375,0.5,-0.25125,   -0.12375,0.5,-0.49875,   0.125,-0.4,0.5,   0.12375,0.5,0.49875,   -0.125,-0.4,0.5,   0.125,-0.4,-0.25,   0.12375,0.5,-0.25125,   -0.125,-0.4,-0.25,   -0.5,-0.4,0.125,   -0.49875,0.5,-0.12375,   -0.5,-0.4,-0.125,   0.25,-0.4,0.125,   0.25125,0.5,-0.12375,   0.25,-0.4,-0.125,   -0.5,-0.4,0.125,   -0.49875,0.5,0.12375,   -0.49875,0.5,-0.12375,   0.25,-0.4,0.125,   0.25125,0.5,0.12375,   0.25125,0.5,-0.12375,   -0.5,-0.4,-0.125,   -0.49875,0.5,-0.12375,   -0.25,-0.4,-0.125,   0.25,-0.4,-0.125,   0.25125,0.5,-0.12375,   0.5,-0.4,-0.125,   0.5,-0.4,0.125,   0.49875,0.5,0.12375,   0.25,-0.4,0.125,   -0.25,-0.4,0.125,   -0.25125,0.5,0.12375,   -0.5,-0.4,0.125,   0.5,-0.4,-0.125,   0.49875,0.5,0.12375,   0.5,-0.4,0.125,   -0.25,-0.4,-0.125,   -0.25125,0.5,0.12375,   -0.25,-0.4,0.125,   0.5,-0.4,-0.125,   0.49875,0.5,-0.12375,   0.49875,0.5,0.12375,   -0.25,-0.4,-0.125,   -0.25125,0.5,-0.12375,   -0.25125,0.5,0.12375,   0.5,-0.4,-0.125,   0.25125,0.5,-0.12375,   0.49875,0.5,-0.12375,   -0.25,-0.4,-0.125,   -0.49875,0.5,-0.12375,   -0.25125,0.5,-0.12375,   -0.125,-0.4,-0.5,   -0.12375,0.5,-0.49875,   0.125,-0.4,-0.5,   -0.125,-0.4,0.25,   -0.12375,0.5,0.25125,   0.125,-0.4,0.25,   0.125,-0.4,-0.5,   0.12375,0.5,-0.25125,   0.125,-0.4,-0.25,   0.125,-0.4,0.25,   0.12375,0.5,0.49875,   0.125,-0.4,0.5,   0.125,-0.4,-0.5,   0.12375,0.5,-0.49875,   0.12375,0.5,-0.25125,   0.125,-0.4,0.25,   0.12375,0.5,0.25125,   0.12375,0.5,0.49875,   0.125,-0.4,-0.5,   -0.12375,0.5,-0.49875,   0.12375,0.5,-0.49875,   0.125,-0.4,0.25,   -0.12375,0.5,0.25125,   0.12375,0.5,0.25125,   -0.125,-0.4,0.125,   -0.12375,0.5,-0.12375,   -0.125,-0.4,-0.125,   -0.125,-0.4,0.125,   -0.12375,0.5,0.12375,   -0.12375,0.5,-0.12375,   0.125,-0.4,0.125,   0.12375,0.5,0.12375,   -0.125,-0.4,0.125,   -0.125,-0.4,-0.125,   -0.12375,0.5,-0.12375,   0.125,-0.4,-0.125,   0.125,-0.4,-0.125,   0.12375,0.5,0.12375,   0.125,-0.4,0.125,   0.125,-0.4,-0.125,   0.12375,0.5,-0.12375,   0.12375,0.5,0.12375,   0.125,-0.4,-0.125,   -0.12375,0.5,-0.12375,   0.12375,0.5,-0.12375,   -0.25125,0.5,0.49875,   -0.49875,0.5,0.49875,   -0.5,-0.4,0.5,   -0.25125,0.5,-0.25125,   -0.49875,0.5,-0.25125,   -0.5,-0.4,-0.25,   0.49875,0.5,0.49875,   0.25125,0.5,0.49875,   0.25,-0.4,0.5,   0.49875,0.5,-0.25125,   0.25125,0.5,-0.25125,   0.25,-0.4,-0.25,   -0.25125,0.5,0.12375,   -0.49875,0.5,0.12375,   -0.5,-0.4,0.125,   0.49875,0.5,0.12375,   0.25125,0.5,0.12375,   0.25,-0.4,0.125,   0.12375,0.5,0.49875,   -0.12375,0.5,0.49875,   -0.125,-0.4,0.5,   0.12375,0.5,-0.25125,   -0.12375,0.5,-0.25125,   -0.125,-0.4,-0.25,   0.12375,0.5,0.12375,   -0.12375,0.5,0.12375,   -0.125,-0.4,0.125,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0.75,1,   0.75,0.1,   0.25,0,   0,0.9,   0,0,   0.25,0.1,   0,1,   0,0.1,   0.25,0,   0,0.9,   0,0,   1,0.1,   1,1,   0.75,1,   0.25,0,   0.25,0.9,   0,0.9,   0.25,0.1,   0.25,1,   0,1,   0.25,0,   0.25,0.9,   0,0.9,   1,0.1,   1,1,   0.75,0.1,   0.25,0.1,   0.25,1,   0,0.1,   0.25,0,   0.25,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0,   1,0.1,   1,1,   0.75,0.1,   0.25,0,   0.25,0.9,   0,0,   0.25,0.1,   0.25,1,   0,0.1,   0.25,0,   0.25,0.9,   0,0,   1,0.1,   0.75,1,   0.75,0.1,   0.25,0.1,   0,1,   0,0.1,   0.25,0,   0,0.9,   0,0,   0.25,0,   0,0.9,   0,0,   1,0.1,   1,1,   0.75,1,   0.25,0.1,   0.25,1,   0,1,   0.25,0,   0.25,0.9,   0,0.9,   0.25,0,   0.25,0.9,   0,0.9,   0,0.1,   0.25,1,   0,1,   0,0,   0.25,0.9,   0,0.9,   0.75,0.1,   1,1,   0.75,1,   0,0,   0.25,0.9,   0,0.9,   0.25,0,   0,0.9,   0,0,   0.25,0,   0,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0.9,   0.25,0,   0.25,0.9,   0,0.9,   0.625,0.1,   0.625,1,   0.375,0.1,   0.25,0,   0.25,0.9,   0,0,   0.625,0.1,   0.375,1,   0.375,0.1,   0.25,0,   0,0.9,   0,0,   0.625,0.1,   0.625,1,   0.375,1,   0.25,0,   0.25,0.9,   0,0.9,   0.25,0,   0.25,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0,   0.625,0.1,   0.375,1,   0.375,0.1,   0.25,0,   0,0.9,   0,0,   0.625,0.1,   0.625,1,   0.375,1,   0.25,0,   0.25,0.9,   0,0.9,   0,0,   0.25,0.9,   0,0.9,   0,0,   0.25,0.9,   0,0.9,   0.625,0.1,   0.625,1,   0.375,0.1,   0.25,0,   0.25,0.9,   0,0,   0.25,0,   0,0.9,   0,0,   0.25,0,   0,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0.9,   0.25,0,   0.25,0.9,   0,0.9,   0.375,0.1,   0.625,1,   0.375,1,   0,0,   0.25,0.9,   0,0.9,   0.25,0,   0,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0.9,   0.25,0,   0.25,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0,   0.25,0,   0,0.9,   0,0,   0.25,0,   0.25,0.9,   0,0.9,   0,0,   0.25,0.9,   0,0.9,   0.25,1,   0,1,   0,0.1,   0.25,0.9,   0,0.9,   0,0,   1,1,   0.75,1,   0.75,0.1,   0.25,0.9,   0,0.9,   0,0,   0.25,0.9,   0,0.9,   0,0,   0.25,0.9,   0,0.9,   0,0,   0.625,1,   0.375,1,   0.375,0.1,   0.25,0.9,   0,0.9,   0,0,   0.25,0.9,   0,0.9,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495223,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   -0.999999035495222,0.00138888754929889,0,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495223,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0.999999035495222,0.00138888754929889,0,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0,0.00138888754929889,-0.999999035495223,   0.999999035495222,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   0,0.00138888754929889,-0.999999035495222,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495223,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   -0.999999035495222,0.00138888754929892,0,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0,0.00138888754929892,-0.999999035495223,   0.999999035495223,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0.999999035495223,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0.999999035495222,0.00138888754929892,0,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929892,-0.999999035495222,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929889,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929892,0.999999035495223,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929889,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   0,0.00138888754929892,0.999999035495222,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 216 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 216 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Items'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.01631447,0.34131475,0.035324875,   0.070919645,0.14002892,0.19366549,   0.13222484,0.081925453,0.0075369442,   0.01631447,0.34131475,0.035324875,   -0.18854815,0.067496599,0.079063265,   0.070919645,0.14002892,0.19366549,   0.01631447,0.34131475,0.035324875,   -0.15086606,0.16355807,-0.1331228,   -0.18854815,0.067496599,0.079063265,   0.01631447,0.34131475,0.035324875,   0.10192514,0.038697811,-0.12690478,   -0.15086606,0.16355807,-0.1331228,   0.13222484,0.081925453,0.0075369442,   0.10192514,0.038697811,-0.12690478,   0.01631447,0.34131475,0.035324875,   0.13222484,0.081925453,0.0075369442,   0.22675036,-0.15493875,-0.16556555,   0.10192514,0.038697811,-0.12690478,   0.13222484,0.081925453,0.0075369442,   0.20638454,-0.059206384,0.16405224,   0.22675036,-0.15493875,-0.16556555,   0.070919645,0.14002892,0.19366549,   0.20638454,-0.059206384,0.16405224,   0.13222484,0.081925453,0.0075369442,   0.070919645,0.14002892,0.19366549,   -0.092831981,-0.10022816,0.24690623,   0.20638454,-0.059206384,0.16405224,   -0.18854815,0.067496599,0.079063265,   -0.092831981,-0.10022816,0.24690623,   0.070919645,0.14002892,0.19366549,   -0.15086606,0.16355807,-0.1331228,   -0.22166863,-0.097485398,0.020218387,   -0.18854815,0.067496599,0.079063265,   -0.15086606,0.16355807,-0.1331228,   -0.082510422,-0.15363812,-0.18662921,   -0.22166863,-0.097485398,0.020218387,   0.10192514,0.038697811,-0.12690478,   -0.082510422,-0.15363812,-0.18662921,   -0.15086606,0.16355807,-0.1331228,   0.10192514,0.038697811,-0.12690478,   0.22675036,-0.15493875,-0.16556555,   -0.082510422,-0.15363812,-0.18662921,   -0.22166863,-0.097485398,0.020218387,   -0.092831981,-0.10022816,0.24690623,   -0.18854815,0.067496599,0.079063265,   -0.22166863,-0.097485398,0.020218387,   -0.018093735,-0.26752478,-0.13454509,   -0.092831981,-0.10022816,0.24690623,   -0.082510422,-0.15363812,-0.18662921,   -0.018093735,-0.26752478,-0.13454509,   -0.22166863,-0.097485398,0.020218387,   0.22675036,-0.15493875,-0.16556555,   -0.018093735,-0.26752478,-0.13454509,   -0.082510422,-0.15363812,-0.18662921,   0.20638454,-0.059206384,0.16405224,   -0.018093735,-0.26752478,-0.13454509,   0.22675036,-0.15493875,-0.16556555,   -0.092831981,-0.10022816,0.24690623,   -0.018093735,-0.26752478,-0.13454509,   0.20638454,-0.059206384,0.16405224,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.11718676,0.93469476,   0,0.77566159,   0.14467891,0.71991932,   0.85401452,0.36915748,   0.67967407,0.1746777,   0.90146967,0.17653737,   0.19779693,0.53025116,   0.069816698,0.34563715,   0.23240796,0.27137077,   0.53885615,0.50909479,   0.48479068,0.24651548,   0.67967407,0.33407599,   0.14467891,0.71991932,   0.25312282,0.70434449,   0.11718676,0.93469476,   0.14467891,0.71991932,   0.28135925,0.53025116,   0.25312282,0.70434449,   0.14467891,0.71991932,   0.029851506,0.59529693,   0.28135925,0.53025116,   0,0.77566159,   0.029851506,0.59529693,   0.14467891,0.71991932,   0.90146967,0.17653737,   0.76369857,0,   1,0.021265133,   0.67967407,0.1746777,   0.76369857,0,   0.90146967,0.17653737,   0.069816698,0.34563715,   0.19010022,0.143117,   0.23240796,0.27137077,   0.069816698,0.34563715,   0,0.10647994,   0.19010022,0.143117,   0.48479068,0.24651548,   0.62202636,0.091697592,   0.67967407,0.33407599,   0.48479068,0.24651548,   0.38729779,0.098814864,   0.62202636,0.091697592,   0.19010022,0.143117,   0.38729779,0.15483083,   0.23240796,0.27137077,   0.65710793,0.68828553,   0.48663647,0.84660855,   0.53857846,0.53025116,   0,0.10647994,   0.0066766012,0,   0.19010022,0.143117,   0.38729779,0.098814864,   0.56749099,0,   0.62202636,0.091697592,   0.30608172,0.57753582,   0.48663647,0.84660855,   0.28135925,0.83684982,   0.53857846,0.53025116,   0.48663647,0.84660855,   0.30608172,0.57753582,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.905391610704459,0.385528388235105,0.177859194676088,   0.905391610704459,0.385528388235105,0.177859194676088,   0.905391610704459,0.385528388235105,0.177859194676088,   -0.463226955246692,0.466897625385528,0.753277767720669,   -0.463226955246692,0.466897625385528,0.753277767720669,   -0.463226955246692,0.466897625385528,0.753277767720669,   -0.782730400970476,0.607331313056202,0.135947767830252,   -0.782730400970476,0.607331313056202,0.135947767830252,   -0.782730400970476,0.607331313056202,0.135947767830252,   0.27360226761174,0.513428694794765,-0.813346650893122,   0.27360226761174,0.513428694794765,-0.813346650893122,   0.27360226761174,0.513428694794765,-0.813346650893122,   0.850011216758024,0.414640013459354,-0.324891659825196,   0.850011216758024,0.414640013459354,-0.324891659825196,   0.850011216758024,0.414640013459354,-0.324891659825196,   0.754457844300202,0.555992513622987,-0.348806086485147,   0.754457844300202,0.555992513622987,-0.348806086485147,   0.754457844300202,0.555992513622987,-0.348806086485147,   0.91038254495289,0.40901350685079,-0.062542569972121,   0.91038254495289,0.40901350685079,-0.062542569972121,   0.91038254495289,0.40901350685079,-0.062542569972121,   0.829628349410478,0.548939496037741,0.101893236008466,   0.829628349410478,0.548939496037741,0.101893236008466,   0.829628349410478,0.548939496037741,0.101893236008466,   0.262242732619234,0.0349667288050771,0.96436822690561,   0.262242732619234,0.0349667288050771,0.96436822690561,   0.262242732619234,0.0349667288050771,0.96436822690561,   -0.463228129243069,0.480710581850663,0.744538136548265,   -0.463228129243069,0.480710581850663,0.744538136548265,   -0.463228129243069,0.480710581850663,0.744538136548265,   -0.97253743576787,0.221133673376277,-0.0726005132844861,   -0.97253743576787,0.221133673376277,-0.0726005132844861,   -0.97253743576787,0.221133673376277,-0.0726005132844861,   -0.837465825505615,-0.0895342318784475,-0.539105381564806,   -0.837465825505615,-0.0895342318784475,-0.539105381564806,   -0.837465825505615,-0.0895342318784475,-0.539105381564806,   0.117720122962398,0.189793381334801,-0.9747412195302,   0.117720122962398,0.189793381334801,-0.9747412195302,   0.117720122962398,0.189793381334801,-0.9747412195302,   0.0670118702128706,0.23671814977273,-0.969264631985893,   0.0670118702128706,0.23671814977273,-0.969264631985893,   0.0670118702128706,0.23671814977273,-0.969264631985893,   -0.869403604878765,-0.00169818733127733,0.494099674138322,   -0.869403604878765,-0.00169818733127733,0.494099674138322,   -0.869403604878765,-0.00169818733127733,0.494099674138322,   -0.48935252692944,-0.829859822420021,0.268079800657907,   -0.48935252692944,-0.829859822420021,0.268079800657907,   -0.48935252692944,-0.829859822420021,0.268079800657907,   -0.741898981492337,-0.576342734103194,-0.342658655380377,   -0.741898981492337,-0.576342734103194,-0.342658655380377,   -0.741898981492337,-0.576342734103194,-0.342658655380377,   0.0610581993364411,-0.386359215769,-0.920325188552478,   0.0610581993364411,-0.386359215769,-0.920325188552478,   0.0610581993364411,-0.386359215769,-0.920325188552478,   0.430190640702,-0.859449325981106,0.276193534904467,   0.430190640702,-0.859449325981106,0.276193534904467,   0.430190640702,-0.859449325981106,0.276193534904467,   0.238217136153466,-0.871400235474551,0.428852218902663,   0.238217136153466,-0.871400235474551,0.428852218902663,   0.238217136153466,-0.871400235474551,0.428852218902663,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 60 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 60 );
glEndList();
return $dl;
};



$DRAW_MODEL{'N'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'N'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'N'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0.1,   0,0.1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'N'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   1,0.1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'N'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 3 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 3 );
glEndList();
return $dl;
};

$DRAW_MODEL{'N'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0,0.1,0,   -0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0,0.1,0,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   0,0.1,0,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   0,0.1,0,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0.5,0.70710678,   0,0,   1,0,   0.5,0.70710678,   0,0,   1,0,   0.5,0.70710678,   0,0,   1,0,   0.5,0.70710678,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   -0.707106781186547,0.707106781186547,0,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0,0.707106781186547,-0.707106781186547,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   0.707106781186547,0.707106781186547,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Pillar'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   0.5,-0.4,0.5,   0.25,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.25,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.25,-0.4,0.5,   0,-0.4,0.5,   0,-0.4,0.5,   -0.25,-0.4,0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1.0014739,4.4408921e-016,   0,0.10014739,   1.0014739,0.10014739,   0.75110542,0.10014739,   1.0014739,4.4408921e-016,   1.0014739,4.4408921e-016,   0.25036847,0.10014739,   0,0.10014739,   1.0014739,4.4408921e-016,   0.75110542,0.10014739,   0.50073695,0.10014739,   0.50073695,0.10014739,   0.25036847,0.10014739,   1.0014739,4.4408921e-016,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Pillar'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.25,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.25,-0.4,-0.5,   0,-0.4,-0.5,   -0.5,-0.4,-0.5,   -0.25,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0,-0.4,-0.5,   0.25,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1.0014739,0,   0.25036847,0.10014739,   0,0.10014739,   1.0014739,0,   0.75110542,0.10014739,   0.50073695,0.10014739,   1.0014739,0.10014739,   0.75110542,0.10014739,   1.0014739,0,   0,0.10014739,   3.3306691e-016,4.4408921e-016,   1.0014739,0,   0.50073695,0.10014739,   0.25036847,0.10014739,   1.0014739,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Pillar'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.25,-0.4,0.5,   -0.21859695,-0.4,0.21859695,   0.5,-0.4,0.5,   0.5,-0.4,0.25,   0.21859695,-0.4,0.21859695,   -0.5,-0.4,-0.5,   -0.5,-0.4,-0.25,   -0.21859695,-0.4,-0.21859695,   0.5,-0.4,-0.5,   0.25,-0.4,-0.5,   0.21859695,-0.4,-0.21859695,   0.21859695,-0.4,-0.21859695,   0.25,-0.4,-0.5,   0.1192347,-0.4,-0.2782143,   0.21859695,-0.4,-0.21859695,   0.5,-0.4,-0.25,   0.5,-0.4,-0.5,   -0.21859695,-0.4,-0.21859695,   -0.5,-0.4,-0.25,   -0.2782143,-0.4,-0.1192347,   -0.21859695,-0.4,-0.21859695,   -0.25,-0.4,-0.5,   -0.5,-0.4,-0.5,   -0.21859695,-0.4,0.21859695,   -0.25,-0.4,0.5,   -0.1192347,-0.4,0.2782143,   -0.21859695,-0.4,0.21859695,   -0.5,-0.4,0.25,   -0.5,-0.4,0.5,   0.21859695,-0.4,0.21859695,   0.5,-0.4,0.25,   0.2782143,-0.4,0.1192347,   0.21859695,-0.4,0.21859695,   0.25,-0.4,0.5,   0.5,-0.4,0.5,   0,-0.4,-0.29808675,   -0.25,-0.4,-0.5,   -0.1192347,-0.4,-0.2782143,   -0.29808675,-0.4,0,   -0.5,-0.4,0.25,   -0.2782143,-0.4,0.1192347,   0,-0.4,0.29808675,   0.25,-0.4,0.5,   0.1192347,-0.4,0.2782143,   0.29808675,-0.4,0,   0.5,-0.4,-0.25,   0.2782143,-0.4,-0.1192347,   -0.1192347,-0.4,-0.2782143,   -0.25,-0.4,-0.5,   -0.21859695,-0.4,-0.21859695,   -0.2782143,-0.4,0.1192347,   -0.5,-0.4,0.25,   -0.21859695,-0.4,0.21859695,   0.1192347,-0.4,0.2782143,   0.25,-0.4,0.5,   0.21859695,-0.4,0.21859695,   0.2782143,-0.4,-0.1192347,   0.5,-0.4,-0.25,   0.21859695,-0.4,-0.21859695,   0.1192347,-0.4,-0.2782143,   0.25,-0.4,-0.5,   0,-0.4,-0.29808675,   -0.2782143,-0.4,-0.1192347,   -0.5,-0.4,-0.25,   -0.29808675,-0.4,0,   -0.1192347,-0.4,0.2782143,   -0.25,-0.4,0.5,   0,-0.4,0.29808675,   0.2782143,-0.4,0.1192347,   0.5,-0.4,0.25,   0.29808675,-0.4,0,   -0.2782143,0.5,0.1192347,   -0.1192347,0.5,0.2782143,   -0.29808675,0.5,0,   -0.21859695,0.5,0.21859695,   -0.1192347,0.5,0.2782143,   -0.2782143,0.5,0.1192347,   -0.1192347,0.5,0.2782143,   0,0.5,0.29808675,   -0.29808675,0.5,0,   0.21859695,0.5,0.21859695,   0.2782143,0.5,0.1192347,   0.1192347,0.5,0.2782143,   0.2782143,0.5,0.1192347,   0.29808675,0.5,0,   0.1192347,0.5,0.2782143,   0.21859695,0.5,-0.21859695,   0.1192347,0.5,-0.2782143,   0.2782143,0.5,-0.1192347,   0.1192347,0.5,-0.2782143,   0,0.5,-0.29808675,   0.2782143,0.5,-0.1192347,   0,0.5,-0.29808675,   -0.1192347,0.5,-0.2782143,   -0.29808675,0.5,0,   -0.1192347,0.5,-0.2782143,   -0.2782143,0.5,-0.1192347,   -0.29808675,0.5,0,   -0.21859695,0.5,-0.21859695,   -0.2782143,0.5,-0.1192347,   -0.1192347,0.5,-0.2782143,   0,-0.4,-0.29808675,   0.25,-0.4,-0.5,   0,-0.4,-0.5,   -0.29808675,-0.4,0,   -0.5,-0.4,-0.25,   -0.5,-0.4,0,   0,-0.4,0.29808675,   -0.25,-0.4,0.5,   0,-0.4,0.5,   0.29808675,-0.4,0,   0.5,-0.4,0.25,   0.5,-0.4,0,   0,-0.4,-0.5,   -0.25,-0.4,-0.5,   0,-0.4,-0.29808675,   -0.5,-0.4,0,   -0.5,-0.4,0.25,   -0.29808675,-0.4,0,   0,-0.4,0.5,   0.25,-0.4,0.5,   0,-0.4,0.29808675,   0.5,-0.4,0,   0.5,-0.4,-0.25,   0.29808675,-0.4,0,   0,0.5,0.29808675,   0,0.5,-0.29808675,   -0.29808675,0.5,0,   0.1192347,0.5,0.2782143,   0.29808675,0.5,0,   0,0.5,0.29808675,   0.29808675,0.5,0,   0,0.5,-0.29808675,   0,0.5,0.29808675,   0.2782143,0.5,-0.1192347,   0,0.5,-0.29808675,   0.29808675,0.5,0,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,8.8817842e-016,   0.25036847,0,   0.28181781,0.28181781,   1.0014739,8.8817842e-016,   1.0014739,0.25036847,   0.71965609,0.28181781,   0,1.0014739,   0,0.75110542,   0.28181781,0.71965609,   1.0014739,1.0014739,   0.75110542,1.0014739,   0.71965609,0.71965609,   0.71965609,0.71965609,   0.75110542,1.0014739,   0.62014739,0.77936131,   0.71965609,0.71965609,   1.0014739,0.75110542,   1.0014739,1.0014739,   0.28181781,0.71965609,   0,0.75110542,   0.22211259,0.62014739,   0.28181781,0.71965609,   0.25036847,1.0014739,   0,1.0014739,   0.28181781,0.28181781,   0.25036847,0,   0.38132651,0.22211259,   0.28181781,0.28181781,   0,0.25036847,   0,8.8817842e-016,   0.71965609,0.28181781,   1.0014739,0.25036847,   0.77936131,0.38132651,   0.71965609,0.28181781,   0.75110542,0,   1.0014739,8.8817842e-016,   0.50073695,0.79926305,   0.25036847,1.0014739,   0.38132651,0.77936131,   0.20221085,0.50073695,   0,0.25036847,   0.22211259,0.38132651,   0.50073695,0.20221085,   0.75110542,0,   0.62014739,0.22211259,   0.79926305,0.50073695,   1.0014739,0.75110542,   0.77936131,0.62014739,   0.38132651,0.77936131,   0.25036847,1.0014739,   0.28181781,0.71965609,   0.22211259,0.38132651,   0,0.25036847,   0.28181781,0.28181781,   0.62014739,0.22211259,   0.75110542,0,   0.71965609,0.28181781,   0.77936131,0.62014739,   1.0014739,0.75110542,   0.71965609,0.71965609,   0.62014739,0.77936131,   0.75110542,1.0014739,   0.50073695,0.79926305,   0.22211259,0.62014739,   0,0.75110542,   0.20221085,0.50073695,   0.38132651,0.22211259,   0.25036847,0,   0.50073695,0.20221085,   0.77936131,0.38132651,   1.0014739,0.25036847,   0.79926305,0.50073695,   0.01990174,0.17911566,   0.17911566,0.01990174,   0,0.2985261,   0.07960696,0.07960696,   0.17911566,0.01990174,   0.01990174,0.17911566,   0.17911566,0.01990174,   0.2985261,0,   0,0.2985261,   0.51744524,0.07960696,   0.57715046,0.17911566,   0.41793654,0.01990174,   0.57715046,0.17911566,   0.5970522,0.2985261,   0.41793654,0.01990174,   0.51744524,0.51744524,   0.41793654,0.57715046,   0.57715046,0.41793654,   0.41793654,0.57715046,   0.2985261,0.5970522,   0.57715046,0.41793654,   0.2985261,0.5970522,   0.17911566,0.57715046,   0,0.2985261,   0.17911566,0.57715046,   0.01990174,0.41793654,   0,0.2985261,   0.07960696,0.51744524,   0.01990174,0.41793654,   0.17911566,0.57715046,   0.50073695,0.79926305,   0.75110542,1.0014739,   0.50073695,1.0014739,   0.20221085,0.50073695,   0,0.75110542,   6.6613381e-016,0.50073695,   0.50073695,0.20221085,   0.25036847,0,   0.50073695,0,   0.79926305,0.50073695,   1.0014739,0.25036847,   1.0014739,0.50073695,   0.50073695,1.0014739,   0.25036847,1.0014739,   0.50073695,0.79926305,   6.6613381e-016,0.50073695,   0,0.25036847,   0.20221085,0.50073695,   0.50073695,0,   0.75110542,0,   0.50073695,0.20221085,   1.0014739,0.50073695,   1.0014739,0.75110542,   0.79926305,0.50073695,   0.2985261,0,   0.2985261,0.5970522,   0,0.2985261,   0.41793654,0.01990174,   0.5970522,0.2985261,   0.2985261,0,   0.5970522,0.2985261,   0.2985261,0.5970522,   0.2985261,0,   0.57715046,0.41793654,   0.2985261,0.5970522,   0.5970522,0.2985261,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 138 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 138 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Pillar'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.25,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.25,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,0.25,   -0.5,-0.4,0,   -0.5,-0.4,0,   -0.5,-0.4,-0.25,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1.0014739,0.10014739,   0,4.4408921e-016,   1.0014739,0,   1.0014739,0.10014739,   0.75110542,0.10014739,   0,4.4408921e-016,   0,4.4408921e-016,   0.25036847,0.10014739,   3.3306691e-016,0.10014739,   0,4.4408921e-016,   0.75110542,0.10014739,   0.50073695,0.10014739,   0.50073695,0.10014739,   0.25036847,0.10014739,   0,4.4408921e-016,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Pillar'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.25,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,-0.25,   0.5,-0.4,0,   0.5,-0.4,-0.5,   0.5,-0.4,-0.25,   0.5,-0.5,0.5,   0.5,-0.4,0,   0.5,-0.4,0.25,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (4.4408921e-016,0,   1.0014739,4.4408921e-016,   1.0014739,0.10014739,   4.4408921e-016,0,   0.25036847,0.10014739,   0,0.10014739,   4.4408921e-016,0,   0.75110542,0.10014739,   0.50073695,0.10014739,   1.0014739,0.10014739,   0.75110542,0.10014739,   4.4408921e-016,0,   0.50073695,0.10014739,   0.25036847,0.10014739,   4.4408921e-016,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 15 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 15 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Pillar'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1.0014739,0,   1.0014739,1.0014739,   0,3.3306691e-016,   1.0014739,1.0014739,   1.110223e-016,1.0014739,   0,3.3306691e-016,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Pillar'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.21859695,-0.4,-0.21859695,   0.2782143,0.5,-0.1192347,   0.2782143,-0.4,-0.1192347,   0.21859695,-0.4,-0.21859695,   0.21859695,0.5,-0.21859695,   0.2782143,0.5,-0.1192347,   0.21859695,-0.4,-0.21859695,   0.1192347,0.5,-0.2782143,   0.21859695,0.5,-0.21859695,   0.1192347,-0.4,-0.2782143,   0.1192347,0.5,-0.2782143,   0.21859695,-0.4,-0.21859695,   -0.21859695,-0.4,-0.21859695,   -0.1192347,0.5,-0.2782143,   -0.1192347,-0.4,-0.2782143,   -0.21859695,-0.4,-0.21859695,   -0.21859695,0.5,-0.21859695,   -0.1192347,0.5,-0.2782143,   -0.21859695,-0.4,-0.21859695,   -0.2782143,0.5,-0.1192347,   -0.21859695,0.5,-0.21859695,   -0.2782143,-0.4,-0.1192347,   -0.2782143,0.5,-0.1192347,   -0.21859695,-0.4,-0.21859695,   -0.21859695,-0.4,0.21859695,   -0.2782143,0.5,0.1192347,   -0.2782143,-0.4,0.1192347,   -0.21859695,-0.4,0.21859695,   -0.21859695,0.5,0.21859695,   -0.2782143,0.5,0.1192347,   -0.21859695,-0.4,0.21859695,   -0.1192347,0.5,0.2782143,   -0.21859695,0.5,0.21859695,   -0.1192347,-0.4,0.2782143,   -0.1192347,0.5,0.2782143,   -0.21859695,-0.4,0.21859695,   0.21859695,-0.4,0.21859695,   0.1192347,0.5,0.2782143,   0.1192347,-0.4,0.2782143,   0.21859695,-0.4,0.21859695,   0.21859695,0.5,0.21859695,   0.1192347,0.5,0.2782143,   0.21859695,-0.4,0.21859695,   0.2782143,0.5,0.1192347,   0.21859695,0.5,0.21859695,   0.2782143,-0.4,0.1192347,   0.2782143,0.5,0.1192347,   0.21859695,-0.4,0.21859695,   0,-0.4,-0.29808675,   0.1192347,0.5,-0.2782143,   0.1192347,-0.4,-0.2782143,   0,-0.4,-0.29808675,   0,0.5,-0.29808675,   0.1192347,0.5,-0.2782143,   0,-0.4,-0.29808675,   -0.1192347,0.5,-0.2782143,   0,0.5,-0.29808675,   -0.1192347,-0.4,-0.2782143,   -0.1192347,0.5,-0.2782143,   0,-0.4,-0.29808675,   -0.29808675,-0.4,0,   -0.2782143,0.5,0.1192347,   -0.29808675,0.5,0,   -0.2782143,-0.4,0.1192347,   -0.2782143,0.5,0.1192347,   -0.29808675,-0.4,0,   -0.29808675,-0.4,0,   -0.2782143,0.5,-0.1192347,   -0.2782143,-0.4,-0.1192347,   -0.29808675,0.5,0,   -0.2782143,0.5,-0.1192347,   -0.29808675,-0.4,0,   0,-0.4,0.29808675,   -0.1192347,0.5,0.2782143,   -0.1192347,-0.4,0.2782143,   0,-0.4,0.29808675,   0,0.5,0.29808675,   -0.1192347,0.5,0.2782143,   0,-0.4,0.29808675,   0.1192347,0.5,0.2782143,   0,0.5,0.29808675,   0.1192347,-0.4,0.2782143,   0.1192347,0.5,0.2782143,   0,-0.4,0.29808675,   0.29808675,-0.4,0,   0.2782143,0.5,0.1192347,   0.2782143,-0.4,0.1192347,   0.29808675,-0.4,0,   0.29808675,0.5,0,   0.2782143,0.5,0.1192347,   0.29808675,-0.4,0,   0.2782143,0.5,-0.1192347,   0.29808675,0.5,0,   0.2782143,-0.4,-0.1192347,   0.2782143,0.5,-0.1192347,   0.29808675,-0.4,0,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.47420729,3.3306691e-016,   0.35816121,0.90132651,   0.35816121,3.3306691e-016,   0.47420729,3.3306691e-016,   0.47420729,0.90132651,   0.35816121,0.90132651,   0,3.3306691e-016,   0.11604609,0.90132651,   0,0.90132651,   0.11604609,0,   0.11604609,0.90132651,   0,3.3306691e-016,   0.47420729,3.3306691e-016,   0.35816121,0.90132651,   0.35816121,3.3306691e-016,   0.47420729,3.3306691e-016,   0.47420729,0.90132651,   0.35816121,0.90132651,   2.220446e-016,3.3306691e-016,   0.11604609,0.90132651,   0,0.90132651,   0.11604609,0,   0.11604609,0.90132651,   2.220446e-016,3.3306691e-016,   0.47420729,3.3306691e-016,   0.35816121,0.90132651,   0.35816121,0,   0.47420729,3.3306691e-016,   0.47420729,0.90132651,   0.35816121,0.90132651,   0,3.3306691e-016,   0.11604609,0.90132651,   0,0.90132651,   0.11604609,0,   0.11604609,0.90132651,   0,3.3306691e-016,   0.47420729,3.3306691e-016,   0.35816121,0.90132651,   0.35816121,3.3306691e-016,   0.47420729,3.3306691e-016,   0.47420729,0.90132651,   0.35816121,0.90132651,   0,3.3306691e-016,   0.11604609,0.90132651,   2.220446e-016,0.90132651,   0.11604609,0,   0.11604609,0.90132651,   0,3.3306691e-016,   0.23710365,3.3306691e-016,   0.11604609,0.90132651,   0.11604609,0,   0.23710365,3.3306691e-016,   0.23710365,0.90132651,   0.11604609,0.90132651,   0.23710365,3.3306691e-016,   0.35816121,0.90132651,   0.23710365,0.90132651,   0.35816121,3.3306691e-016,   0.35816121,0.90132651,   0.23710365,3.3306691e-016,   0.23710365,0,   0.35816121,0.90132651,   0.23710365,0.90132651,   0.35816121,0,   0.35816121,0.90132651,   0.23710365,0,   0.23710365,0,   0.11604609,0.90132651,   0.11604609,0,   0.23710365,0.90132651,   0.11604609,0.90132651,   0.23710365,0,   0.23710365,3.3306691e-016,   0.11604609,0.90132651,   0.11604609,0,   0.23710365,3.3306691e-016,   0.23710365,0.90132651,   0.11604609,0.90132651,   0.23710365,3.3306691e-016,   0.35816121,0.90132651,   0.23710365,0.90132651,   0.35816121,3.3306691e-016,   0.35816121,0.90132651,   0.23710365,3.3306691e-016,   0.23710365,3.3306691e-016,   0.11604609,0.90132651,   0.11604609,0,   0.23710365,3.3306691e-016,   0.23710365,0.90132651,   0.11604609,0.90132651,   0.23710365,3.3306691e-016,   0.35816121,0.90132651,   0.23710365,0.90132651,   0.35816121,3.3306691e-016,   0.35816121,0.90132651,   0.23710365,3.3306691e-016,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.857492925712544,0,-0.514495755427527,   0.857492925712544,0,-0.514495755427527,   0.857492925712544,0,-0.514495755427527,   0.857492925712544,0,-0.514495755427527,   0.857492925712544,0,-0.514495755427527,   0.857492925712544,0,-0.514495755427527,   0.514495755427527,0,-0.857492925712544,   0.514495755427527,0,-0.857492925712544,   0.514495755427527,0,-0.857492925712544,   0.514495755427527,0,-0.857492925712544,   0.514495755427527,0,-0.857492925712544,   0.514495755427527,0,-0.857492925712544,   -0.514495755427527,0,-0.857492925712544,   -0.514495755427527,0,-0.857492925712544,   -0.514495755427527,0,-0.857492925712544,   -0.514495755427527,0,-0.857492925712544,   -0.514495755427527,0,-0.857492925712544,   -0.514495755427527,0,-0.857492925712544,   -0.857492925712544,0,-0.514495755427527,   -0.857492925712544,0,-0.514495755427527,   -0.857492925712544,0,-0.514495755427527,   -0.857492925712544,0,-0.514495755427527,   -0.857492925712544,0,-0.514495755427527,   -0.857492925712544,0,-0.514495755427527,   -0.857492925712544,0,0.514495755427527,   -0.857492925712544,0,0.514495755427527,   -0.857492925712544,0,0.514495755427527,   -0.857492925712544,0,0.514495755427527,   -0.857492925712544,0,0.514495755427527,   -0.857492925712544,0,0.514495755427527,   -0.514495755427527,0,0.857492925712544,   -0.514495755427527,0,0.857492925712544,   -0.514495755427527,0,0.857492925712544,   -0.514495755427527,0,0.857492925712544,   -0.514495755427527,0,0.857492925712544,   -0.514495755427527,0,0.857492925712544,   0.514495755427527,0,0.857492925712544,   0.514495755427527,0,0.857492925712544,   0.514495755427527,0,0.857492925712544,   0.514495755427527,0,0.857492925712544,   0.514495755427527,0,0.857492925712544,   0.514495755427527,0,0.857492925712544,   0.857492925712544,0,0.514495755427527,   0.857492925712544,0,0.514495755427527,   0.857492925712544,0,0.514495755427527,   0.857492925712544,0,0.514495755427527,   0.857492925712544,0,0.514495755427527,   0.857492925712544,0,0.514495755427527,   0.164398987305357,0,-0.986393923832144,   0.164398987305357,0,-0.986393923832144,   0.164398987305357,0,-0.986393923832144,   0.164398987305357,0,-0.986393923832144,   0.164398987305357,0,-0.986393923832144,   0.164398987305357,0,-0.986393923832144,   -0.164398987305357,0,-0.986393923832144,   -0.164398987305357,0,-0.986393923832144,   -0.164398987305357,0,-0.986393923832144,   -0.164398987305357,0,-0.986393923832144,   -0.164398987305357,0,-0.986393923832144,   -0.164398987305357,0,-0.986393923832144,   -0.986393923832144,0,0.164398987305357,   -0.986393923832144,0,0.164398987305357,   -0.986393923832144,0,0.164398987305357,   -0.986393923832144,0,0.164398987305357,   -0.986393923832144,0,0.164398987305357,   -0.986393923832144,0,0.164398987305357,   -0.986393923832144,0,-0.164398987305357,   -0.986393923832144,0,-0.164398987305357,   -0.986393923832144,0,-0.164398987305357,   -0.986393923832144,0,-0.164398987305357,   -0.986393923832144,0,-0.164398987305357,   -0.986393923832144,0,-0.164398987305357,   -0.164398987305357,0,0.986393923832144,   -0.164398987305357,0,0.986393923832144,   -0.164398987305357,0,0.986393923832144,   -0.164398987305357,0,0.986393923832144,   -0.164398987305357,0,0.986393923832144,   -0.164398987305357,0,0.986393923832144,   0.164398987305357,0,0.986393923832144,   0.164398987305357,0,0.986393923832144,   0.164398987305357,0,0.986393923832144,   0.164398987305357,0,0.986393923832144,   0.164398987305357,0,0.986393923832144,   0.164398987305357,0,0.986393923832144,   0.986393923832144,0,0.164398987305357,   0.986393923832144,0,0.164398987305357,   0.986393923832144,0,0.164398987305357,   0.986393923832144,0,0.164398987305357,   0.986393923832144,0,0.164398987305357,   0.986393923832144,0,0.164398987305357,   0.986393923832144,0,-0.164398987305357,   0.986393923832144,0,-0.164398987305357,   0.986393923832144,0,-0.164398987305357,   0.986393923832144,0,-0.164398987305357,   0.986393923832144,0,-0.164398987305357,   0.986393923832144,0,-0.164398987305357,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 96 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 96 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Sapling'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01020972,0.16651691,   0.15000276,0.16651691,   0.01020972,0.18049621,   0.01020972,0.18049621,   0.15000276,0.16651691,   0.15000276,0.18049621,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Sapling'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.15000276,0.18049621,   0.01020972,0.18049621,   0.15000276,0.16651691,   0.01020972,0.18049621,   0.01020972,0.16651691,   0.15000276,0.16651691,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Sapling'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01020972,0.10361004,   0.15000276,0.24340308,   0.01020972,0.24340308,   0.15000276,0.10361004,   0.15000276,0.24340308,   0.01020972,0.10361004,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Sapling'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.15000276,0.18049621,   0.01020972,0.16651691,   0.15000276,0.16651691,   0.15000276,0.18049621,   0.01020972,0.18049621,   0.01020972,0.16651691,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Sapling'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01020972,0.16651691,   0.15000276,0.18049621,   0.01020972,0.18049621,   0.01020972,0.16651691,   0.15000276,0.16651691,   0.15000276,0.18049621,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Sapling'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.15000276,0.10361004,   0.15000276,0.24340308,   0.01020972,0.10361004,   0.15000276,0.24340308,   0.01020972,0.24340308,   0.01020972,0.10361004,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Sapling'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.0211464,-0.15406853,0.004955831,   0.019536726,-0.15375196,-0.0031303512,   0.019536726,-0.15438511,0.013042013,   -0.019536726,-0.15438511,0.013042013,   -0.019536726,-0.15375196,-0.0031303512,   -0.0211464,-0.15406853,0.004955831,   0.0211464,-0.15406853,0.004955831,   0.0356,-0.40723826,-0.004955831,   0.019536726,-0.15375196,-0.0031303512,   0.019536726,-0.15438511,0.013042013,   0.019536726,-0.15375196,-0.0031303512,   0.014952763,-0.15465349,0.019897148,   0.019536726,-0.15438511,0.013042013,   0.0356,-0.40723826,-0.004955831,   0.0211464,-0.15406853,0.004955831,   0.019536726,-0.15438511,0.013042013,   0.032890111,-0.40777121,0.0086572703,   0.0356,-0.40723826,-0.004955831,   0.019536726,-0.15438511,0.013042013,   0.025173001,-0.40822303,0.0201979,   0.032890111,-0.40777121,0.0086572703,   0.014952763,-0.15465349,0.019897148,   0.014952763,-0.15348358,-0.0099854858,   0.0080923768,-0.15483282,0.024477602,   0.014952763,-0.15465349,0.019897148,   0.019536726,-0.15375196,-0.0031303512,   0.014952763,-0.15348358,-0.0099854858,   0.014952763,-0.15465349,0.019897148,   0.025173001,-0.40822303,0.0201979,   0.019536726,-0.15438511,0.013042013,   0.0080923768,-0.15483282,0.024477602,   0.0080923768,-0.15330425,-0.01456594,   0,-0.15489579,0.026086044,   -0.0080923768,-0.15483282,0.024477602,   0,-0.15324128,-0.016174382,   -0.0080923768,-0.15330425,-0.01456594,   0.0080923768,-0.15483282,0.024477602,   0.014952763,-0.15348358,-0.0099854858,   0.0080923768,-0.15330425,-0.01456594,   0.0080923768,-0.15483282,0.024477602,   0.025173001,-0.40822303,0.0201979,   0.014952763,-0.15465349,0.019897148,   0.0080923768,-0.15483282,0.024477602,   0.01362353,-0.40852493,0.027909103,   0.025173001,-0.40822303,0.0201979,   0.0080923768,-0.15483282,0.024477602,   0,-0.40863094,0.030616918,   0.01362353,-0.40852493,0.027909103,   0,-0.15489579,0.026086044,   0,-0.15324128,-0.016174382,   -0.0080923768,-0.15483282,0.024477602,   0,-0.15489579,0.026086044,   0.0080923768,-0.15330425,-0.01456594,   0,-0.15324128,-0.016174382,   0,-0.15489579,0.026086044,   0,-0.40863094,0.030616918,   0.0080923768,-0.15483282,0.024477602,   -0.0080923768,-0.15483282,0.024477602,   -0.0080923768,-0.15330425,-0.01456594,   -0.014952763,-0.15465349,0.019897148,   -0.0080923768,-0.15483282,0.024477602,   0,-0.40863094,0.030616918,   0,-0.15489579,0.026086044,   -0.0080923768,-0.15483282,0.024477602,   -0.01362353,-0.40852493,0.027909103,   0,-0.40863094,0.030616918,   -0.0080923768,-0.15483282,0.024477602,   -0.025173001,-0.40822303,0.0201979,   -0.01362353,-0.40852493,0.027909103,   -0.014952763,-0.15465349,0.019897148,   -0.014952763,-0.15348358,-0.0099854858,   -0.019536726,-0.15438511,0.013042013,   -0.014952763,-0.15465349,0.019897148,   -0.0080923768,-0.15330425,-0.01456594,   -0.014952763,-0.15348358,-0.0099854858,   -0.014952763,-0.15465349,0.019897148,   -0.025173001,-0.40822303,0.0201979,   -0.0080923768,-0.15483282,0.024477602,   -0.019536726,-0.15438511,0.013042013,   -0.014952763,-0.15348358,-0.0099854858,   -0.019536726,-0.15375196,-0.0031303512,   -0.019536726,-0.15438511,0.013042013,   -0.025173001,-0.40822303,0.0201979,   -0.014952763,-0.15465349,0.019897148,   -0.019536726,-0.15438511,0.013042013,   -0.032890111,-0.40777121,0.0086572703,   -0.025173001,-0.40822303,0.0201979,   -0.019536726,-0.15438511,0.013042013,   -0.0356,-0.40723826,-0.004955831,   -0.032890111,-0.40777121,0.0086572703,   -0.0211464,-0.15406853,0.004955831,   -0.0356,-0.40723826,-0.004955831,   -0.019536726,-0.15438511,0.013042013,   -0.019536726,-0.15375196,-0.0031303512,   -0.0356,-0.40723826,-0.004955831,   -0.0211464,-0.15406853,0.004955831,   -0.019536726,-0.15375196,-0.0031303512,   -0.032890111,-0.4067053,-0.018568932,   -0.0356,-0.40723826,-0.004955831,   -0.019536726,-0.15375196,-0.0031303512,   -0.025173001,-0.40625348,-0.030109562,   -0.032890111,-0.4067053,-0.018568932,   -0.014952763,-0.15348358,-0.0099854858,   -0.025173001,-0.40625348,-0.030109562,   -0.019536726,-0.15375196,-0.0031303512,   -0.0080923768,-0.15330425,-0.01456594,   -0.025173001,-0.40625348,-0.030109562,   -0.014952763,-0.15348358,-0.0099854858,   -0.0080923768,-0.15330425,-0.01456594,   -0.01362353,-0.40595159,-0.037820765,   -0.025173001,-0.40625348,-0.030109562,   -0.0080923768,-0.15330425,-0.01456594,   0,-0.40584557,-0.040528579,   -0.01362353,-0.40595159,-0.037820765,   0,-0.15324128,-0.016174382,   0,-0.40584557,-0.040528579,   -0.0080923768,-0.15330425,-0.01456594,   0.0080923768,-0.15330425,-0.01456594,   0,-0.40584557,-0.040528579,   0,-0.15324128,-0.016174382,   0.0080923768,-0.15330425,-0.01456594,   0.01362353,-0.40595159,-0.037820765,   0,-0.40584557,-0.040528579,   0.0080923768,-0.15330425,-0.01456594,   0.025173001,-0.40625348,-0.030109562,   0.01362353,-0.40595159,-0.037820765,   0.014952763,-0.15348358,-0.0099854858,   0.025173001,-0.40625348,-0.030109562,   0.0080923768,-0.15330425,-0.01456594,   0.019536726,-0.15375196,-0.0031303512,   0.025173001,-0.40625348,-0.030109562,   0.014952763,-0.15348358,-0.0099854858,   0.019536726,-0.15375196,-0.0031303512,   0.032890111,-0.4067053,-0.018568932,   0.025173001,-0.40625348,-0.030109562,   0.0356,-0.40723826,-0.004955831,   0.032890111,-0.4067053,-0.018568932,   0.019536726,-0.15375196,-0.0031303512,   0.032890111,-0.40777121,0.0086572703,   0.032890111,-0.4067053,-0.018568932,   0.0356,-0.40723826,-0.004955831,   -0.0356,-0.40723826,-0.004955831,   -0.032890111,-0.4067053,-0.018568932,   -0.032890111,-0.40777121,0.0086572703,   0.025173001,-0.40822303,0.0201979,   0.025173001,-0.40625348,-0.030109562,   0.032890111,-0.40777121,0.0086572703,   0.01362353,-0.40852493,0.027909103,   0.01362353,-0.40595159,-0.037820765,   0.025173001,-0.40822303,0.0201979,   0,-0.40863094,0.030616918,   0,-0.40584557,-0.040528579,   0.01362353,-0.40852493,0.027909103,   -0.01362353,-0.40852493,0.027909103,   -0.01362353,-0.40595159,-0.037820765,   0,-0.40863094,0.030616918,   -0.025173001,-0.40822303,0.0201979,   -0.025173001,-0.40625348,-0.030109562,   -0.01362353,-0.40852493,0.027909103,   -0.032890111,-0.40777121,0.0086572703,   -0.032890111,-0.4067053,-0.018568932,   -0.025173001,-0.40822303,0.0201979,   -0.032890111,-0.4067053,-0.018568932,   -0.025173001,-0.40625348,-0.030109562,   -0.025173001,-0.40822303,0.0201979,   -0.025173001,-0.40625348,-0.030109562,   -0.01362353,-0.40595159,-0.037820765,   -0.01362353,-0.40852493,0.027909103,   -0.01362353,-0.40595159,-0.037820765,   0,-0.40584557,-0.040528579,   0,-0.40863094,0.030616918,   0,-0.40584557,-0.040528579,   0.01362353,-0.40595159,-0.037820765,   0.01362353,-0.40852493,0.027909103,   0.01362353,-0.40595159,-0.037820765,   0.025173001,-0.40625348,-0.030109562,   0.025173001,-0.40822303,0.0201979,   0.025173001,-0.40625348,-0.030109562,   0.032890111,-0.4067053,-0.018568932,   0.032890111,-0.40777121,0.0086572703,   0.042189471,0.095416179,0,   0.072654973,0.03533268,0,   0.038977988,0.095416179,-0.016145212,   0.042189471,0.095416179,0,   0,0.13145591,0,   0.038977988,0.095416179,0.016145212,   0.038977988,0.095416179,0.016145212,   0.072654973,0.03533268,0,   0.042189471,0.095416179,0,   0.038977988,0.095416179,0.016145212,   0.067124441,0.03533268,0.027803853,   0.072654973,0.03533268,0,   0.038977988,0.095416179,0.016145212,   0.051374822,0.03533268,0.051374822,   0.067124441,0.03533268,0.027803853,   0.038977988,0.095416179,0.016145212,   0,0.13145591,0,   0.029832461,0.095416179,0.029832461,   0.029832461,0.095416179,0.029832461,   0.051374822,0.03533268,0.051374822,   0.038977988,0.095416179,0.016145212,   0.029832461,0.095416179,0.029832461,   0,0.13145591,0,   0.016145212,0.095416179,0.038977988,   0.016145212,0.095416179,0.038977988,   0.051374822,0.03533268,0.051374822,   0.029832461,0.095416179,0.029832461,   0.016145212,0.095416179,0.038977988,   0.027803853,0.03533268,0.067124441,   0.051374822,0.03533268,0.051374822,   0.016145212,0.095416179,0.038977988,   0,0.03533268,0.072654973,   0.027803853,0.03533268,0.067124441,   0.016145212,0.095416179,0.038977988,   0,0.13145591,0,   0,0.095416179,0.042189471,   0,0.095416179,0.042189471,   0,0.03533268,0.072654973,   0.016145212,0.095416179,0.038977988,   0,0.095416179,0.042189471,   0,0.13145591,0,   -0.016145212,0.095416179,0.038977988,   -0.016145212,0.095416179,0.038977988,   0,0.03533268,0.072654973,   0,0.095416179,0.042189471,   -0.016145212,0.095416179,0.038977988,   -0.027803853,0.03533268,0.067124441,   0,0.03533268,0.072654973,   -0.016145212,0.095416179,0.038977988,   -0.051374822,0.03533268,0.051374822,   -0.027803853,0.03533268,0.067124441,   -0.016145212,0.095416179,0.038977988,   0,0.13145591,0,   -0.029832461,0.095416179,0.029832461,   -0.029832461,0.095416179,0.029832461,   -0.051374822,0.03533268,0.051374822,   -0.016145212,0.095416179,0.038977988,   -0.029832461,0.095416179,0.029832461,   0,0.13145591,0,   -0.038977988,0.095416179,0.016145212,   -0.038977988,0.095416179,0.016145212,   -0.051374822,0.03533268,0.051374822,   -0.029832461,0.095416179,0.029832461,   -0.038977988,0.095416179,0.016145212,   -0.067124441,0.03533268,0.027803853,   -0.051374822,0.03533268,0.051374822,   -0.038977988,0.095416179,0.016145212,   -0.072654973,0.03533268,0,   -0.067124441,0.03533268,0.027803853,   -0.038977988,0.095416179,0.016145212,   0,0.13145591,0,   -0.042189471,0.095416179,0,   -0.042189471,0.095416179,0,   -0.072654973,0.03533268,0,   -0.038977988,0.095416179,0.016145212,   -0.042189471,0.095416179,0,   0,0.13145591,0,   -0.038977988,0.095416179,-0.016145212,   -0.038977988,0.095416179,-0.016145212,   -0.072654973,0.03533268,0,   -0.042189471,0.095416179,0,   -0.038977988,0.095416179,-0.016145212,   -0.067124441,0.03533268,-0.027803853,   -0.072654973,0.03533268,0,   -0.038977988,0.095416179,-0.016145212,   -0.051374822,0.03533268,-0.051374822,   -0.067124441,0.03533268,-0.027803853,   -0.038977988,0.095416179,-0.016145212,   0,0.13145591,0,   -0.029832461,0.095416179,-0.029832461,   -0.029832461,0.095416179,-0.029832461,   -0.051374822,0.03533268,-0.051374822,   -0.038977988,0.095416179,-0.016145212,   -0.029832461,0.095416179,-0.029832461,   0,0.13145591,0,   -0.016145212,0.095416179,-0.038977988,   -0.016145212,0.095416179,-0.038977988,   -0.051374822,0.03533268,-0.051374822,   -0.029832461,0.095416179,-0.029832461,   -0.016145212,0.095416179,-0.038977988,   -0.027803853,0.03533268,-0.067124441,   -0.051374822,0.03533268,-0.051374822,   -0.016145212,0.095416179,-0.038977988,   0,0.03533268,-0.072654973,   -0.027803853,0.03533268,-0.067124441,   -0.016145212,0.095416179,-0.038977988,   0,0.13145591,0,   0,0.095416179,-0.042189471,   0,0.095416179,-0.042189471,   0,0.03533268,-0.072654973,   -0.016145212,0.095416179,-0.038977988,   0,0.095416179,-0.042189471,   0,0.13145591,0,   0.016145212,0.095416179,-0.038977988,   0.016145212,0.095416179,-0.038977988,   0,0.03533268,-0.072654973,   0,0.095416179,-0.042189471,   0.016145212,0.095416179,-0.038977988,   0.027803853,0.03533268,-0.067124441,   0,0.03533268,-0.072654973,   0.016145212,0.095416179,-0.038977988,   0.051374822,0.03533268,-0.051374822,   0.027803853,0.03533268,-0.067124441,   0.016145212,0.095416179,-0.038977988,   0,0.13145591,0,   0.029832461,0.095416179,-0.029832461,   0.029832461,0.095416179,-0.029832461,   0.051374822,0.03533268,-0.051374822,   0.016145212,0.095416179,-0.038977988,   0.029832461,0.095416179,-0.029832461,   0,0.13145591,0,   0.038977988,0.095416179,-0.016145212,   0.038977988,0.095416179,-0.016145212,   0.051374822,0.03533268,-0.051374822,   0.029832461,0.095416179,-0.029832461,   0.038977988,0.095416179,-0.016145212,   0.067124441,0.03533268,-0.027803853,   0.051374822,0.03533268,-0.051374822,   0.038977988,0.095416179,-0.016145212,   0,0.13145591,0,   0.042189471,0.095416179,0,   0.072654973,0.03533268,0,   0.067124441,0.03533268,-0.027803853,   0.038977988,0.095416179,-0.016145212,   0.072654973,0.03533268,0,   0.087702306,-0.040207951,0.036327486,   0.094928292,-0.040207951,0,   0.072654973,0.03533268,0,   0.087702306,-0.040207951,-0.036327486,   0.067124441,0.03533268,-0.027803853,   0.067124441,0.03533268,0.027803853,   0.087702306,-0.040207951,0.036327486,   0.072654973,0.03533268,0,   0.051374822,0.03533268,0.051374822,   0.087702306,-0.040207951,0.036327486,   0.067124441,0.03533268,0.027803853,   0.051374822,0.03533268,0.051374822,   0.067124441,-0.040207951,0.067124441,   0.087702306,-0.040207951,0.036327486,   0.051374822,0.03533268,0.051374822,   0.036327486,-0.040207951,0.087702306,   0.067124441,-0.040207951,0.067124441,   0.027803853,0.03533268,0.067124441,   0.036327486,-0.040207951,0.087702306,   0.051374822,0.03533268,0.051374822,   0,0.03533268,0.072654973,   0.036327486,-0.040207951,0.087702306,   0.027803853,0.03533268,0.067124441,   0,0.03533268,0.072654973,   0,-0.040207951,0.094928292,   0.036327486,-0.040207951,0.087702306,   0,0.03533268,0.072654973,   -0.036327486,-0.040207951,0.087702306,   0,-0.040207951,0.094928292,   -0.027803853,0.03533268,0.067124441,   -0.036327486,-0.040207951,0.087702306,   0,0.03533268,0.072654973,   -0.051374822,0.03533268,0.051374822,   -0.036327486,-0.040207951,0.087702306,   -0.027803853,0.03533268,0.067124441,   -0.051374822,0.03533268,0.051374822,   -0.067124441,-0.040207951,0.067124441,   -0.036327486,-0.040207951,0.087702306,   -0.051374822,0.03533268,0.051374822,   -0.087702306,-0.040207951,0.036327486,   -0.067124441,-0.040207951,0.067124441,   -0.067124441,0.03533268,0.027803853,   -0.087702306,-0.040207951,0.036327486,   -0.051374822,0.03533268,0.051374822,   -0.072654973,0.03533268,0,   -0.087702306,-0.040207951,0.036327486,   -0.067124441,0.03533268,0.027803853,   -0.072654973,0.03533268,0,   -0.094928292,-0.040207951,0,   -0.087702306,-0.040207951,0.036327486,   -0.072654973,0.03533268,0,   -0.087702306,-0.040207951,-0.036327486,   -0.094928292,-0.040207951,0,   -0.067124441,0.03533268,-0.027803853,   -0.087702306,-0.040207951,-0.036327486,   -0.072654973,0.03533268,0,   -0.051374822,0.03533268,-0.051374822,   -0.087702306,-0.040207951,-0.036327486,   -0.067124441,0.03533268,-0.027803853,   -0.051374822,0.03533268,-0.051374822,   -0.067124441,-0.040207951,-0.067124441,   -0.087702306,-0.040207951,-0.036327486,   -0.051374822,0.03533268,-0.051374822,   -0.036327486,-0.040207951,-0.087702306,   -0.067124441,-0.040207951,-0.067124441,   -0.027803853,0.03533268,-0.067124441,   -0.036327486,-0.040207951,-0.087702306,   -0.051374822,0.03533268,-0.051374822,   0,0.03533268,-0.072654973,   -0.036327486,-0.040207951,-0.087702306,   -0.027803853,0.03533268,-0.067124441,   0,0.03533268,-0.072654973,   0,-0.040207951,-0.094928292,   -0.036327486,-0.040207951,-0.087702306,   0,0.03533268,-0.072654973,   0.036327486,-0.040207951,-0.087702306,   0,-0.040207951,-0.094928292,   0.027803853,0.03533268,-0.067124441,   0.036327486,-0.040207951,-0.087702306,   0,0.03533268,-0.072654973,   0.051374822,0.03533268,-0.051374822,   0.036327486,-0.040207951,-0.087702306,   0.027803853,0.03533268,-0.067124441,   0.051374822,0.03533268,-0.051374822,   0.067124441,-0.040207951,-0.067124441,   0.036327486,-0.040207951,-0.087702306,   0.051374822,0.03533268,-0.051374822,   0.087702306,-0.040207951,-0.036327486,   0.067124441,-0.040207951,-0.067124441,   0.067124441,0.03533268,-0.027803853,   0.087702306,-0.040207951,-0.036327486,   0.051374822,0.03533268,-0.051374822,   0.094928292,-0.040207951,0,   0.087702306,-0.040207951,-0.036327486,   0.072654973,0.03533268,0,   0.094928292,-0.040207951,0,   0.1102464,-0.11783487,0,   0.087702306,-0.040207951,-0.036327486,   0.087702306,-0.040207951,0.036327486,   0.1102464,-0.11783487,0,   0.094928292,-0.040207951,0,   0.087702306,-0.040207951,0.036327486,   0.10185439,-0.11783487,0.042189471,   0.1102464,-0.11783487,0,   0.087702306,-0.040207951,0.036327486,   0.077955978,-0.11783487,0.077955978,   0.10185439,-0.11783487,0.042189471,   0.067124441,-0.040207951,0.067124441,   0.077955978,-0.11783487,0.077955978,   0.087702306,-0.040207951,0.036327486,   0.036327486,-0.040207951,0.087702306,   0.077955978,-0.11783487,0.077955978,   0.067124441,-0.040207951,0.067124441,   0.036327486,-0.040207951,0.087702306,   0.042189471,-0.11783487,0.10185439,   0.077955978,-0.11783487,0.077955978,   0.036327486,-0.040207951,0.087702306,   0,-0.11783487,0.1102464,   0.042189471,-0.11783487,0.10185439,   0,-0.040207951,0.094928292,   0,-0.11783487,0.1102464,   0.036327486,-0.040207951,0.087702306,   -0.036327486,-0.040207951,0.087702306,   0,-0.11783487,0.1102464,   0,-0.040207951,0.094928292,   -0.036327486,-0.040207951,0.087702306,   -0.042189471,-0.11783487,0.10185439,   0,-0.11783487,0.1102464,   -0.036327486,-0.040207951,0.087702306,   -0.077955978,-0.11783487,0.077955978,   -0.042189471,-0.11783487,0.10185439,   -0.067124441,-0.040207951,0.067124441,   -0.077955978,-0.11783487,0.077955978,   -0.036327486,-0.040207951,0.087702306,   -0.087702306,-0.040207951,0.036327486,   -0.077955978,-0.11783487,0.077955978,   -0.067124441,-0.040207951,0.067124441,   -0.087702306,-0.040207951,0.036327486,   -0.10185439,-0.11783487,0.042189471,   -0.077955978,-0.11783487,0.077955978,   -0.087702306,-0.040207951,0.036327486,   -0.1102464,-0.11783487,0,   -0.10185439,-0.11783487,0.042189471,   -0.094928292,-0.040207951,0,   -0.1102464,-0.11783487,0,   -0.087702306,-0.040207951,0.036327486,   -0.087702306,-0.040207951,-0.036327486,   -0.1102464,-0.11783487,0,   -0.094928292,-0.040207951,0,   -0.087702306,-0.040207951,-0.036327486,   -0.10185439,-0.11783487,-0.042189471,   -0.1102464,-0.11783487,0,   -0.087702306,-0.040207951,-0.036327486,   -0.077955978,-0.11783487,-0.077955978,   -0.10185439,-0.11783487,-0.042189471,   -0.067124441,-0.040207951,-0.067124441,   -0.077955978,-0.11783487,-0.077955978,   -0.087702306,-0.040207951,-0.036327486,   -0.036327486,-0.040207951,-0.087702306,   -0.077955978,-0.11783487,-0.077955978,   -0.067124441,-0.040207951,-0.067124441,   -0.036327486,-0.040207951,-0.087702306,   -0.042189471,-0.11783487,-0.10185439,   -0.077955978,-0.11783487,-0.077955978,   -0.036327486,-0.040207951,-0.087702306,   0,-0.11783487,-0.1102464,   -0.042189471,-0.11783487,-0.10185439,   0,-0.040207951,-0.094928292,   0,-0.11783487,-0.1102464,   -0.036327486,-0.040207951,-0.087702306,   0.036327486,-0.040207951,-0.087702306,   0,-0.11783487,-0.1102464,   0,-0.040207951,-0.094928292,   0.036327486,-0.040207951,-0.087702306,   0.042189471,-0.11783487,-0.10185439,   0,-0.11783487,-0.1102464,   0.036327486,-0.040207951,-0.087702306,   0.077955978,-0.11783487,-0.077955978,   0.042189471,-0.11783487,-0.10185439,   0.067124441,-0.040207951,-0.067124441,   0.077955978,-0.11783487,-0.077955978,   0.036327486,-0.040207951,-0.087702306,   0.087702306,-0.040207951,-0.036327486,   0.077955978,-0.11783487,-0.077955978,   0.067124441,-0.040207951,-0.067124441,   0.087702306,-0.040207951,-0.036327486,   0.10185439,-0.11783487,-0.042189471,   0.077955978,-0.11783487,-0.077955978,   0.1102464,-0.11783487,0,   0.10185439,-0.11783487,-0.042189471,   0.087702306,-0.040207951,-0.036327486,   0.1102464,-0.11783487,0,   0.094101189,-0.19546179,0.038977988,   0.10185439,-0.19546179,0,   0.1102464,-0.11783487,0,   0.094101189,-0.19546179,-0.038977988,   0.10185439,-0.11783487,-0.042189471,   0.10185439,-0.11783487,0.042189471,   0.094101189,-0.19546179,0.038977988,   0.1102464,-0.11783487,0,   0.077955978,-0.11783487,0.077955978,   0.094101189,-0.19546179,0.038977988,   0.10185439,-0.11783487,0.042189471,   0.077955978,-0.11783487,0.077955978,   0.07202193,-0.19546179,0.07202193,   0.094101189,-0.19546179,0.038977988,   0.077955978,-0.11783487,0.077955978,   0.038977988,-0.19546179,0.094101189,   0.07202193,-0.19546179,0.07202193,   0.042189471,-0.11783487,0.10185439,   0.038977988,-0.19546179,0.094101189,   0.077955978,-0.11783487,0.077955978,   0,-0.11783487,0.1102464,   0.038977988,-0.19546179,0.094101189,   0.042189471,-0.11783487,0.10185439,   0,-0.11783487,0.1102464,   0,-0.19546179,0.10185439,   0.038977988,-0.19546179,0.094101189,   0,-0.11783487,0.1102464,   -0.038977988,-0.19546179,0.094101189,   0,-0.19546179,0.10185439,   -0.042189471,-0.11783487,0.10185439,   -0.038977988,-0.19546179,0.094101189,   0,-0.11783487,0.1102464,   -0.077955978,-0.11783487,0.077955978,   -0.038977988,-0.19546179,0.094101189,   -0.042189471,-0.11783487,0.10185439,   -0.077955978,-0.11783487,0.077955978,   -0.07202193,-0.19546179,0.07202193,   -0.038977988,-0.19546179,0.094101189,   -0.077955978,-0.11783487,0.077955978,   -0.094101189,-0.19546179,0.038977988,   -0.07202193,-0.19546179,0.07202193,   -0.10185439,-0.11783487,0.042189471,   -0.094101189,-0.19546179,0.038977988,   -0.077955978,-0.11783487,0.077955978,   -0.1102464,-0.11783487,0,   -0.094101189,-0.19546179,0.038977988,   -0.10185439,-0.11783487,0.042189471,   -0.1102464,-0.11783487,0,   -0.10185439,-0.19546179,0,   -0.094101189,-0.19546179,0.038977988,   -0.077955978,-0.11783487,-0.077955978,   -0.038977988,-0.19546179,-0.094101189,   -0.07202193,-0.19546179,-0.07202193,   -0.042189471,-0.11783487,-0.10185439,   -0.038977988,-0.19546179,-0.094101189,   -0.077955978,-0.11783487,-0.077955978,   0,-0.11783487,-0.1102464,   -0.038977988,-0.19546179,-0.094101189,   -0.042189471,-0.11783487,-0.10185439,   0,-0.11783487,-0.1102464,   0,-0.19546179,-0.10185439,   -0.038977988,-0.19546179,-0.094101189,   0,-0.11783487,-0.1102464,   0.038977988,-0.19546179,-0.094101189,   0,-0.19546179,-0.10185439,   0.042189471,-0.11783487,-0.10185439,   0.038977988,-0.19546179,-0.094101189,   0,-0.11783487,-0.1102464,   0.077955978,-0.11783487,-0.077955978,   0.038977988,-0.19546179,-0.094101189,   0.042189471,-0.11783487,-0.10185439,   0.077955978,-0.11783487,-0.077955978,   0.07202193,-0.19546179,-0.07202193,   0.038977988,-0.19546179,-0.094101189,   0.077955978,-0.11783487,-0.077955978,   0.094101189,-0.19546179,-0.038977988,   0.07202193,-0.19546179,-0.07202193,   0.10185439,-0.11783487,-0.042189471,   0.094101189,-0.19546179,-0.038977988,   0.077955978,-0.11783487,-0.077955978,   0.10185439,-0.19546179,0,   0.094101189,-0.19546179,-0.038977988,   0.1102464,-0.11783487,0,   0.10185439,-0.19546179,0,   0.077955978,-0.26127072,0,   0.094101189,-0.19546179,-0.038977988,   0.094101189,-0.19546179,0.038977988,   0.077955978,-0.26127072,0,   0.10185439,-0.19546179,0,   0.094101189,-0.19546179,0.038977988,   0.07202193,-0.26127072,0.029832461,   0.077955978,-0.26127072,0,   0.094101189,-0.19546179,0.038977988,   0.0551232,-0.26127072,0.0551232,   0.07202193,-0.26127072,0.029832461,   0.07202193,-0.19546179,0.07202193,   0.0551232,-0.26127072,0.0551232,   0.094101189,-0.19546179,0.038977988,   0.038977988,-0.19546179,0.094101189,   0.0551232,-0.26127072,0.0551232,   0.07202193,-0.19546179,0.07202193,   0.038977988,-0.19546179,0.094101189,   0.029832461,-0.26127072,0.07202193,   0.0551232,-0.26127072,0.0551232,   0.038977988,-0.19546179,0.094101189,   0,-0.26127072,0.077955978,   0.029832461,-0.26127072,0.07202193,   0,-0.19546179,0.10185439,   0,-0.26127072,0.077955978,   0.038977988,-0.19546179,0.094101189,   -0.038977988,-0.19546179,0.094101189,   0,-0.26127072,0.077955978,   0,-0.19546179,0.10185439,   -0.038977988,-0.19546179,0.094101189,   -0.029832461,-0.26127072,0.07202193,   0,-0.26127072,0.077955978,   -0.038977988,-0.19546179,0.094101189,   -0.0551232,-0.26127072,0.0551232,   -0.029832461,-0.26127072,0.07202193,   -0.07202193,-0.19546179,0.07202193,   -0.0551232,-0.26127072,0.0551232,   -0.038977988,-0.19546179,0.094101189,   -0.094101189,-0.19546179,0.038977988,   -0.0551232,-0.26127072,0.0551232,   -0.07202193,-0.19546179,0.07202193,   -0.094101189,-0.19546179,0.038977988,   -0.07202193,-0.26127072,0.029832461,   -0.0551232,-0.26127072,0.0551232,   -0.094101189,-0.19546179,0.038977988,   -0.077955978,-0.26127072,0,   -0.07202193,-0.26127072,0.029832461,   -0.10185439,-0.19546179,0,   -0.077955978,-0.26127072,0,   -0.094101189,-0.19546179,0.038977988,   -0.094101189,-0.19546179,-0.038977988,   -0.077955978,-0.26127072,0,   -0.10185439,-0.19546179,0,   -0.094101189,-0.19546179,-0.038977988,   -0.07202193,-0.26127072,-0.029832461,   -0.077955978,-0.26127072,0,   -0.094101189,-0.19546179,-0.038977988,   -0.0551232,-0.26127072,-0.0551232,   -0.07202193,-0.26127072,-0.029832461,   -0.07202193,-0.19546179,-0.07202193,   -0.0551232,-0.26127072,-0.0551232,   -0.094101189,-0.19546179,-0.038977988,   -0.038977988,-0.19546179,-0.094101189,   -0.0551232,-0.26127072,-0.0551232,   -0.07202193,-0.19546179,-0.07202193,   -0.038977988,-0.19546179,-0.094101189,   -0.029832461,-0.26127072,-0.07202193,   -0.0551232,-0.26127072,-0.0551232,   -0.038977988,-0.19546179,-0.094101189,   0,-0.26127072,-0.077955978,   -0.029832461,-0.26127072,-0.07202193,   0,-0.19546179,-0.10185439,   0,-0.26127072,-0.077955978,   -0.038977988,-0.19546179,-0.094101189,   0.038977988,-0.19546179,-0.094101189,   0,-0.26127072,-0.077955978,   0,-0.19546179,-0.10185439,   0.038977988,-0.19546179,-0.094101189,   0.029832461,-0.26127072,-0.07202193,   0,-0.26127072,-0.077955978,   0.038977988,-0.19546179,-0.094101189,   0.0551232,-0.26127072,-0.0551232,   0.029832461,-0.26127072,-0.07202193,   0.07202193,-0.19546179,-0.07202193,   0.0551232,-0.26127072,-0.0551232,   0.038977988,-0.19546179,-0.094101189,   0.094101189,-0.19546179,-0.038977988,   0.0551232,-0.26127072,-0.0551232,   0.07202193,-0.19546179,-0.07202193,   0.094101189,-0.19546179,-0.038977988,   0.07202193,-0.26127072,-0.029832461,   0.0551232,-0.26127072,-0.0551232,   0.077955978,-0.26127072,0,   0.07202193,-0.26127072,-0.029832461,   0.094101189,-0.19546179,-0.038977988,   0.077955978,-0.26127072,0,   0.038977988,-0.29422205,0.016145212,   0.042189471,-0.29422205,0,   0.077955978,-0.26127072,0,   0.038977988,-0.29422205,-0.016145212,   0.07202193,-0.26127072,-0.029832461,   0.07202193,-0.26127072,0.029832461,   0.038977988,-0.29422205,0.016145212,   0.077955978,-0.26127072,0,   0.0551232,-0.26127072,0.0551232,   0.038977988,-0.29422205,0.016145212,   0.07202193,-0.26127072,0.029832461,   0.0551232,-0.26127072,0.0551232,   0.029832461,-0.29422205,0.029832461,   0.038977988,-0.29422205,0.016145212,   0.0551232,-0.26127072,0.0551232,   0.016145212,-0.29422205,0.038977988,   0.029832461,-0.29422205,0.029832461,   0.029832461,-0.26127072,0.07202193,   0.016145212,-0.29422205,0.038977988,   0.0551232,-0.26127072,0.0551232,   0,-0.26127072,0.077955978,   0.016145212,-0.29422205,0.038977988,   0.029832461,-0.26127072,0.07202193,   0,-0.26127072,0.077955978,   0,-0.29422205,0.042189471,   0.016145212,-0.29422205,0.038977988,   0,-0.26127072,0.077955978,   -0.016145212,-0.29422205,0.038977988,   0,-0.29422205,0.042189471,   -0.029832461,-0.26127072,0.07202193,   -0.016145212,-0.29422205,0.038977988,   0,-0.26127072,0.077955978,   -0.0551232,-0.26127072,0.0551232,   -0.016145212,-0.29422205,0.038977988,   -0.029832461,-0.26127072,0.07202193,   -0.0551232,-0.26127072,0.0551232,   -0.029832461,-0.29422205,0.029832461,   -0.016145212,-0.29422205,0.038977988,   -0.0551232,-0.26127072,0.0551232,   -0.038977988,-0.29422205,0.016145212,   -0.029832461,-0.29422205,0.029832461,   -0.07202193,-0.26127072,0.029832461,   -0.038977988,-0.29422205,0.016145212,   -0.0551232,-0.26127072,0.0551232,   -0.077955978,-0.26127072,0,   -0.038977988,-0.29422205,0.016145212,   -0.07202193,-0.26127072,0.029832461,   -0.077955978,-0.26127072,0,   -0.042189471,-0.29422205,0,   -0.038977988,-0.29422205,0.016145212,   -0.077955978,-0.26127072,0,   -0.038977988,-0.29422205,-0.016145212,   -0.042189471,-0.29422205,0,   -0.07202193,-0.26127072,-0.029832461,   -0.038977988,-0.29422205,-0.016145212,   -0.077955978,-0.26127072,0,   -0.0551232,-0.26127072,-0.0551232,   -0.038977988,-0.29422205,-0.016145212,   -0.07202193,-0.26127072,-0.029832461,   -0.0551232,-0.26127072,-0.0551232,   -0.029832461,-0.29422205,-0.029832461,   -0.038977988,-0.29422205,-0.016145212,   -0.0551232,-0.26127072,-0.0551232,   -0.016145212,-0.29422205,-0.038977988,   -0.029832461,-0.29422205,-0.029832461,   -0.029832461,-0.26127072,-0.07202193,   -0.016145212,-0.29422205,-0.038977988,   -0.0551232,-0.26127072,-0.0551232,   0,-0.26127072,-0.077955978,   -0.016145212,-0.29422205,-0.038977988,   -0.029832461,-0.26127072,-0.07202193,   0,-0.26127072,-0.077955978,   0,-0.29422205,-0.042189471,   -0.016145212,-0.29422205,-0.038977988,   0,-0.26127072,-0.077955978,   0.016145212,-0.29422205,-0.038977988,   0,-0.29422205,-0.042189471,   0.029832461,-0.26127072,-0.07202193,   0.016145212,-0.29422205,-0.038977988,   0,-0.26127072,-0.077955978,   0.0551232,-0.26127072,-0.0551232,   0.016145212,-0.29422205,-0.038977988,   0.029832461,-0.26127072,-0.07202193,   0.0551232,-0.26127072,-0.0551232,   0.029832461,-0.29422205,-0.029832461,   0.016145212,-0.29422205,-0.038977988,   0.0551232,-0.26127072,-0.0551232,   0.038977988,-0.29422205,-0.016145212,   0.029832461,-0.29422205,-0.029832461,   0.07202193,-0.26127072,-0.029832461,   0.038977988,-0.29422205,-0.016145212,   0.0551232,-0.26127072,-0.0551232,   0.042189471,-0.29422205,0,   0.038977988,-0.29422205,-0.016145212,   0.077955978,-0.26127072,0,   0.042189471,-0.29422205,0,   0,-0.309663,0,   0.038977988,-0.29422205,-0.016145212,   0.038977988,-0.29422205,0.016145212,   0,-0.309663,0,   0.042189471,-0.29422205,0,   0.029832461,-0.29422205,0.029832461,   0,-0.309663,0,   0.038977988,-0.29422205,0.016145212,   0.016145212,-0.29422205,0.038977988,   0,-0.309663,0,   0.029832461,-0.29422205,0.029832461,   0,-0.29422205,0.042189471,   0,-0.309663,0,   0.016145212,-0.29422205,0.038977988,   -0.016145212,-0.29422205,0.038977988,   0,-0.309663,0,   0,-0.29422205,0.042189471,   -0.029832461,-0.29422205,0.029832461,   0,-0.309663,0,   -0.016145212,-0.29422205,0.038977988,   -0.038977988,-0.29422205,0.016145212,   0,-0.309663,0,   -0.029832461,-0.29422205,0.029832461,   -0.042189471,-0.29422205,0,   0,-0.309663,0,   -0.038977988,-0.29422205,0.016145212,   -0.038977988,-0.29422205,-0.016145212,   0,-0.309663,0,   -0.042189471,-0.29422205,0,   -0.029832461,-0.29422205,-0.029832461,   0,-0.309663,0,   -0.038977988,-0.29422205,-0.016145212,   -0.016145212,-0.29422205,-0.038977988,   0,-0.309663,0,   -0.029832461,-0.29422205,-0.029832461,   0,-0.29422205,-0.042189471,   0,-0.309663,0,   -0.016145212,-0.29422205,-0.038977988,   0.016145212,-0.29422205,-0.038977988,   0,-0.309663,0,   0,-0.29422205,-0.042189471,   0.029832461,-0.29422205,-0.029832461,   0,-0.309663,0,   0.016145212,-0.29422205,-0.038977988,   0.038977988,-0.29422205,-0.016145212,   0,-0.309663,0,   0.029832461,-0.29422205,-0.029832461,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.61840762,0.53439169,   0.61705267,0.54120346,   0.61705267,0.52757992,   0.58416256,0.52757992,   0.58416256,0.54120346,   0.58280762,0.53439169,   0.44753904,0.19192826,   0.25176752,0.19192826,   0.44753904,0.18498305,   0.61705267,0.52757992,   0.61705267,0.54120346,   0.61319412,0.52180519,   0.44753904,0.19887348,   0.25176752,0.19192826,   0.44753904,0.19192826,   0.44753904,0.19887348,   0.25176752,0.19887348,   0.25176752,0.19192826,   0.44753904,0.19887348,   0.25176752,0.20581869,   0.25176752,0.19887348,   0.61319412,0.52180519,   0.61319412,0.54697819,   0.60741938,0.51794663,   0.61319412,0.52180519,   0.61705267,0.54120346,   0.61319412,0.54697819,   0.44753904,0.20581869,   0.25176752,0.20581869,   0.44753904,0.19887348,   0.60741938,0.51794663,   0.60741938,0.55083675,   0.60060762,0.51659169,   0.59379585,0.51794663,   0.60060762,0.55219169,   0.59379585,0.55083675,   0.60741938,0.51794663,   0.61319412,0.54697819,   0.60741938,0.55083675,   0.44753904,0.21276391,   0.25176752,0.20581869,   0.44753904,0.20581869,   0.44753904,0.21276391,   0.25176752,0.21276391,   0.25176752,0.20581869,   0.44753904,0.21276391,   0.25176752,0.21970913,   0.25176752,0.21276391,   0.60060762,0.51659169,   0.60060762,0.55219169,   0.59379585,0.51794663,   0.60060762,0.51659169,   0.60741938,0.55083675,   0.60060762,0.55219169,   0.44753904,0.21970913,   0.25176752,0.21970913,   0.44753904,0.21276391,   0.59379585,0.51794663,   0.59379585,0.55083675,   0.58802112,0.52180519,   0.44753904,0.22665434,   0.25176752,0.21970913,   0.44753904,0.21970913,   0.44753904,0.22665434,   0.25176752,0.22665434,   0.25176752,0.21970913,   0.44753904,0.22665434,   0.25176752,0.23359956,   0.25176752,0.22665434,   0.58802112,0.52180519,   0.58802112,0.54697819,   0.58416256,0.52757992,   0.58802112,0.52180519,   0.59379585,0.55083675,   0.58802112,0.54697819,   0.44753904,0.23359956,   0.25176752,0.23359956,   0.44753904,0.22665434,   0.58416256,0.52757992,   0.58802112,0.54697819,   0.58416256,0.54120346,   0.44753904,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19192826,   0.44753904,0.19887347,   0.25176752,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19887347,   0.25176752,0.20581869,   0.25176752,0.19887347,   0.44753904,0.20581869,   0.25176752,0.20581869,   0.44753904,0.19887347,   0.44753904,0.2127639,   0.25176752,0.20581869,   0.44753904,0.20581869,   0.44753904,0.2127639,   0.25176752,0.2127639,   0.25176752,0.20581869,   0.44753904,0.2127639,   0.25176752,0.21970912,   0.25176752,0.2127639,   0.44753904,0.21970912,   0.25176752,0.21970912,   0.44753904,0.2127639,   0.44753904,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19192826,   0.44753904,0.19887347,   0.25176752,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19887347,   0.25176752,0.20581869,   0.25176752,0.19887347,   0.44753904,0.20581869,   0.25176752,0.20581869,   0.44753904,0.19887347,   0.44753904,0.2127639,   0.25176752,0.20581869,   0.44753904,0.20581869,   0.44753904,0.2127639,   0.25176752,0.2127639,   0.25176752,0.20581869,   0.44753904,0.2127639,   0.25176752,0.21970912,   0.25176752,0.2127639,   0.44753904,0.21970912,   0.25176752,0.21970912,   0.44753904,0.2127639,   0.44753904,0.18498305,   0.25176752,0.17803783,   0.44753904,0.17803783,   0.44753904,0.18498305,   0.25176752,0.18498305,   0.25176752,0.17803783,   0.25176752,0.19192826,   0.25176752,0.18498305,   0.44753904,0.18498305,   0.82508346,0.34493548,   0.82508346,0.35855901,   0.82372851,0.35174724,   0.85932851,0.35174724,   0.85797357,0.35855901,   0.85797357,0.34493548,   0.82894201,0.33916074,   0.82894201,0.36433374,   0.82508346,0.34493548,   0.83471675,0.33530219,   0.83471675,0.3681923,   0.82894201,0.33916074,   0.84152851,0.33394724,   0.84152851,0.36954724,   0.83471675,0.33530219,   0.84834028,0.33530219,   0.84834028,0.3681923,   0.84152851,0.33394724,   0.85411502,0.33916074,   0.85411502,0.36433374,   0.84834028,0.33530219,   0.85797357,0.34493548,   0.85797357,0.35855901,   0.85411502,0.33916074,   0.85797357,0.35855901,   0.85411502,0.36433374,   0.85411502,0.33916074,   0.85411502,0.36433374,   0.84834028,0.3681923,   0.84834028,0.33530219,   0.84834028,0.3681923,   0.84152851,0.36954724,   0.84152851,0.33394724,   0.84152851,0.36954724,   0.83471675,0.3681923,   0.83471675,0.33530219,   0.83471675,0.3681923,   0.82894201,0.36433374,   0.82894201,0.33916074,   0.82894201,0.36433374,   0.82508346,0.35855901,   0.82508346,0.34493548,   0.69647393,0.94655254,   0.75886466,0.87319156,   0.71832119,0.94655254,   0.69647393,0.94655254,   0.63474982,0.99807288,   0.67167514,0.94655254,   0.67167514,0.94655254,   0.75886466,0.87319156,   0.69647393,0.94655254,   0.67167514,0.94655254,   0.72081993,0.87319156,   0.75886466,0.87319156,   0.67167514,0.94655254,   0.68258438,0.87319156,   0.72081993,0.87319156,   0.67167514,0.94655254,   0.6190637,0.99107142,   0.64463275,0.94655254,   0.64463275,0.94655254,   0.68258438,0.87319156,   0.67167514,0.94655254,   0.64463275,0.94655254,   0.60097156,0.98553187,   0.61595449,0.94655254,   0.61595449,0.94655254,   0.68258438,0.87319156,   0.64463275,0.94655254,   0.61595449,0.94655254,   0.64418163,0.87319156,   0.68258438,0.87319156,   0.61595449,0.94655254,   0.60561381,0.87319156,   0.64418163,0.87319156,   0.61595449,0.94655254,   0.5808086,0.98202248,   0.58586785,0.94655254,   0.58586785,0.94655254,   0.60561381,0.87319156,   0.61595449,0.94655254,   0.58586785,0.94655254,   0.55871849,0.98091334,   0.55459223,0.94655254,   0.55459223,0.94655254,   0.60561381,0.87319156,   0.58586785,0.94655254,   0.55459223,0.94655254,   0.56682798,0.87319156,   0.60561381,0.87319156,   0.55459223,0.94655254,   0.52783221,0.87319156,   0.56682798,0.87319156,   0.55459223,0.94655254,   0.53489502,0.98197441,   0.5221988,0.94655254,   0.5221988,0.94655254,   0.52783221,0.87319156,   0.55459223,0.94655254,   0.5221988,0.94655254,   0.50928954,0.9857555,   0.48865469,0.94655254,   0.48865469,0.94655254,   0.52783221,0.87319156,   0.5221988,0.94655254,   0.48865469,0.94655254,   0.48865469,0.87319156,   0.52783221,0.87319156,   0.48865469,0.94655254,   0.44947716,0.87319156,   0.48865469,0.87319156,   0.48865469,0.94655254,   0.46801984,0.9857555,   0.45511058,0.94655254,   0.45511058,0.94655254,   0.44947716,0.87319156,   0.48865469,0.94655254,   0.45511058,0.94655254,   0.44241434,0.98197441,   0.42271714,0.94655254,   0.42271714,0.94655254,   0.44947716,0.87319156,   0.45511058,0.94655254,   0.42271714,0.94655254,   0.41048139,0.87319156,   0.44947716,0.87319156,   0.42271714,0.94655254,   0.37169556,0.87319156,   0.41048139,0.87319156,   0.42271714,0.94655254,   0.4185909,0.98091334,   0.39144152,0.94655254,   0.39144152,0.94655254,   0.37169556,0.87319156,   0.42271714,0.94655254,   0.39144152,0.94655254,   0.39650076,0.98202248,   0.36135488,0.94655254,   0.36135488,0.94655254,   0.37169556,0.87319156,   0.39144152,0.94655254,   0.36135488,0.94655254,   0.33312775,0.87319156,   0.37169556,0.87319156,   0.36135488,0.94655254,   0.29472499,0.87319156,   0.33312775,0.87319156,   0.36135488,0.94655254,   0.37633783,0.98553186,   0.33267662,0.94655254,   0.33267662,0.94655254,   0.29472499,0.87319156,   0.36135488,0.94655254,   0.33267662,0.94655254,   0.35824565,0.99107143,   0.30563423,0.94655254,   0.30563423,0.94655254,   0.29472499,0.87319156,   0.33267662,0.94655254,   0.30563423,0.94655254,   0.25648944,0.87319156,   0.29472499,0.87319156,   0.30563423,0.94655254,   0.21844471,0.87319156,   0.25648944,0.87319156,   0.30563423,0.94655254,   0.34255958,0.99807286,   0.28083544,0.94655254,   0.28083544,0.94655254,   0.21844471,0.87319156,   0.30563423,0.94655254,   0.28083544,0.94655254,   0.33057252,1.00599943,   0.25898819,0.94655254,   0.25898819,0.94655254,   0.21844471,0.87319156,   0.28083544,0.94655254,   0.25898819,0.94655254,   0.18086972,0.87319155,   0.21844471,0.87319156,   0.71832119,0.94655254,   0.64673683,1.00599941,   0.69647393,0.94655254,   0.75886466,0.87319156,   0.79643966,0.87319156,   0.71832119,0.94655254,   0.75886466,0.87319156,   0.76063077,0.7761601,   0.81014554,0.7761601,   0.75886466,0.87319156,   0.86251781,0.7761601,   0.79643966,0.87319156,   0.72081993,0.87319156,   0.76063077,0.7761601,   0.75886466,0.87319156,   0.68258438,0.87319156,   0.76063077,0.7761601,   0.72081993,0.87319156,   0.68258438,0.87319156,   0.71324045,0.7761601,   0.76063077,0.7761601,   0.68258438,0.87319156,   0.66724769,0.7761601,   0.71324045,0.7761601,   0.64418163,0.87319156,   0.66724769,0.7761601,   0.68258438,0.87319156,   0.60561381,0.87319156,   0.66724769,0.7761601,   0.64418163,0.87319156,   0.60561381,0.87319156,   0.62217874,0.7761601,   0.66724769,0.7761601,   0.60561381,0.87319156,   0.57755196,0.7761601,   0.62217874,0.7761601,   0.56682798,0.87319156,   0.57755196,0.7761601,   0.60561381,0.87319156,   0.52783221,0.87319156,   0.57755196,0.7761601,   0.56682798,0.87319156,   0.52783221,0.87319156,   0.53306431,0.7761601,   0.57755196,0.7761601,   0.52783221,0.87319156,   0.48865469,0.7761601,   0.53306431,0.7761601,   0.48865469,0.87319156,   0.48865469,0.7761601,   0.52783221,0.87319156,   0.44947716,0.87319156,   0.48865469,0.7761601,   0.48865469,0.87319156,   0.44947716,0.87319156,   0.44424507,0.7761601,   0.48865469,0.7761601,   0.44947716,0.87319156,   0.39975741,0.7761601,   0.44424507,0.7761601,   0.41048139,0.87319156,   0.39975741,0.7761601,   0.44947716,0.87319156,   0.37169556,0.87319156,   0.39975741,0.7761601,   0.41048139,0.87319156,   0.37169556,0.87319156,   0.35513063,0.7761601,   0.39975741,0.7761601,   0.37169556,0.87319156,   0.31006169,0.7761601,   0.35513063,0.7761601,   0.33312775,0.87319156,   0.31006169,0.7761601,   0.37169556,0.87319156,   0.29472499,0.87319156,   0.31006169,0.7761601,   0.33312775,0.87319156,   0.29472499,0.87319156,   0.26406892,0.7761601,   0.31006169,0.7761601,   0.29472499,0.87319156,   0.2166786,0.7761601,   0.26406892,0.7761601,   0.25648944,0.87319156,   0.2166786,0.7761601,   0.29472499,0.87319156,   0.21844471,0.87319156,   0.2166786,0.7761601,   0.25648944,0.87319156,   0.21844471,0.87319156,   0.16716383,0.7761601,   0.2166786,0.7761601,   0.21844471,0.87319156,   0.11479157,0.7761601,   0.16716383,0.7761601,   0.18086972,0.87319155,   0.11479157,0.7761601,   0.21844471,0.87319156,   0.81014554,0.7761601,   0.86251781,0.7761601,   0.75886466,0.87319156,   0.81014554,0.7761601,   0.84266568,0.67046677,   0.86251781,0.7761601,   0.76063077,0.7761601,   0.84266568,0.67046677,   0.81014554,0.7761601,   0.76063077,0.7761601,   0.78618012,0.67046677,   0.84266568,0.67046677,   0.76063077,0.7761601,   0.7335797,0.67046677,   0.78618012,0.67046677,   0.71324045,0.7761601,   0.7335797,0.67046677,   0.76063077,0.7761601,   0.66724769,0.7761601,   0.7335797,0.67046677,   0.71324045,0.7761601,   0.66724769,0.7761601,   0.68327389,0.67046677,   0.7335797,0.67046677,   0.66724769,0.7761601,   0.63418383,0.67046677,   0.68327389,0.67046677,   0.62217874,0.7761601,   0.63418383,0.67046677,   0.66724769,0.7761601,   0.57755196,0.7761601,   0.63418383,0.67046677,   0.62217874,0.7761601,   0.57755196,0.7761601,   0.58561474,0.67046677,   0.63418383,0.67046677,   0.57755196,0.7761601,   0.53712915,0.67046678,   0.58561474,0.67046677,   0.53306431,0.7761601,   0.53712915,0.67046678,   0.57755196,0.7761601,   0.48865469,0.7761601,   0.53712915,0.67046678,   0.53306431,0.7761601,   0.48865469,0.7761601,   0.48865469,0.67046678,   0.53712915,0.67046678,   0.48865469,0.7761601,   0.44018022,0.67046678,   0.48865469,0.67046678,   0.44424507,0.7761601,   0.44018022,0.67046678,   0.48865469,0.7761601,   0.39975741,0.7761601,   0.44018022,0.67046678,   0.44424507,0.7761601,   0.39975741,0.7761601,   0.39169463,0.67046678,   0.44018022,0.67046678,   0.39975741,0.7761601,   0.34312555,0.67046678,   0.39169463,0.67046678,   0.35513063,0.7761601,   0.34312555,0.67046678,   0.39975741,0.7761601,   0.31006169,0.7761601,   0.34312555,0.67046678,   0.35513063,0.7761601,   0.31006169,0.7761601,   0.29403548,0.67046678,   0.34312555,0.67046678,   0.31006169,0.7761601,   0.24372968,0.67046678,   0.29403548,0.67046678,   0.26406892,0.7761601,   0.24372968,0.67046678,   0.31006169,0.7761601,   0.2166786,0.7761601,   0.24372968,0.67046678,   0.26406892,0.7761601,   0.2166786,0.7761601,   0.19112925,0.67046678,   0.24372968,0.67046678,   0.2166786,0.7761601,   0.1346437,0.67046678,   0.19112925,0.67046678,   0.16716383,0.7761601,   0.1346437,0.67046678,   0.2166786,0.7761601,   0.11479157,0.7761601,   0.1346437,0.67046678,   0.16716383,0.7761601,   0.11479157,0.7761601,   0.071592505,0.67046678,   0.1346437,0.67046678,   0.84266568,0.67046677,   0.90571687,0.67046677,   0.86251781,0.7761601,   0.84266568,0.67046677,   0.80024957,0.56001899,   0.85651769,0.56001899,   0.84266568,0.67046677,   0.91779901,0.56001899,   0.90571687,0.67046677,   0.78618012,0.67046677,   0.80024957,0.56001899,   0.84266568,0.67046677,   0.7335797,0.67046677,   0.80024957,0.56001899,   0.78618012,0.67046677,   0.7335797,0.67046677,   0.74698157,0.56001899,   0.80024957,0.56001899,   0.7335797,0.67046677,   0.6953124,0.56001899,   0.74698157,0.56001899,   0.68327389,0.67046677,   0.6953124,0.56001899,   0.7335797,0.67046677,   0.63418383,0.67046677,   0.6953124,0.56001899,   0.68327389,0.67046677,   0.63418383,0.67046677,   0.6442054,0.56001899,   0.6953124,0.56001899,   0.63418383,0.67046677,   0.59291331,0.56001899,   0.6442054,0.56001899,   0.58561474,0.67046677,   0.59291331,0.56001899,   0.63418383,0.67046677,   0.53712915,0.67046678,   0.59291331,0.56001899,   0.58561474,0.67046677,   0.53712915,0.67046678,   0.54107387,0.56001899,   0.59291331,0.56001899,   0.53712915,0.67046678,   0.48865468,0.56001899,   0.54107387,0.56001899,   0.48865469,0.67046678,   0.48865468,0.56001899,   0.53712915,0.67046678,   0.44018022,0.67046678,   0.48865468,0.56001899,   0.48865469,0.67046678,   0.44018022,0.67046678,   0.4362355,0.56001899,   0.48865468,0.56001899,   0.34312555,0.67046678,   0.28199698,0.56001899,   0.33310398,0.56001899,   0.29403548,0.67046678,   0.28199698,0.56001899,   0.34312555,0.67046678,   0.24372968,0.67046678,   0.28199698,0.56001899,   0.29403548,0.67046678,   0.24372968,0.67046678,   0.2303278,0.56001899,   0.28199698,0.56001899,   0.24372968,0.67046678,   0.17705981,0.56001899,   0.2303278,0.56001899,   0.19112925,0.67046678,   0.17705981,0.56001899,   0.24372968,0.67046678,   0.1346437,0.67046678,   0.17705981,0.56001899,   0.19112925,0.67046678,   0.1346437,0.67046678,   0.12079168,0.56001899,   0.17705981,0.56001899,   0.1346437,0.67046678,   0.059510376,0.56001899,   0.12079168,0.56001899,   0.071592505,0.67046678,   0.059510376,0.56001899,   0.1346437,0.67046678,   0.85651769,0.56001899,   0.91779901,0.56001899,   0.84266568,0.67046677,   0.85651769,0.56001899,   0.85693278,0.45795642,   0.91779901,0.56001899,   0.80024957,0.56001899,   0.85693278,0.45795642,   0.85651769,0.56001899,   0.80024957,0.56001899,   0.80684273,0.45795642,   0.85693278,0.45795642,   0.80024957,0.56001899,   0.75693081,0.45795641,   0.80684273,0.45795642,   0.74698157,0.56001899,   0.75693081,0.45795641,   0.80024957,0.56001899,   0.6953124,0.56001899,   0.75693081,0.45795641,   0.74698157,0.56001899,   0.6953124,0.56001899,   0.70654887,0.45795641,   0.75693081,0.45795641,   0.6953124,0.56001899,   0.65535627,0.45795641,   0.70654887,0.45795641,   0.6442054,0.56001899,   0.65535627,0.45795641,   0.6953124,0.56001899,   0.59291331,0.56001899,   0.65535627,0.45795641,   0.6442054,0.56001899,   0.59291331,0.56001899,   0.60234152,0.45795641,   0.65535627,0.45795641,   0.59291331,0.56001899,   0.54709445,0.45795641,   0.60234152,0.45795641,   0.54107387,0.56001899,   0.54709445,0.45795641,   0.59291331,0.56001899,   0.48865468,0.56001899,   0.54709445,0.45795641,   0.54107387,0.56001899,   0.48865468,0.56001899,   0.48865469,0.45795641,   0.54709445,0.45795641,   0.48865468,0.56001899,   0.4302149,0.4579564,   0.48865469,0.45795641,   0.4362355,0.56001899,   0.4302149,0.4579564,   0.48865468,0.56001899,   0.38439606,0.56001899,   0.4302149,0.4579564,   0.4362355,0.56001899,   0.38439606,0.56001899,   0.37496786,0.4579564,   0.4302149,0.4579564,   0.38439606,0.56001899,   0.32195311,0.4579564,   0.37496786,0.4579564,   0.33310398,0.56001899,   0.32195311,0.4579564,   0.38439606,0.56001899,   0.28199698,0.56001899,   0.32195311,0.4579564,   0.33310398,0.56001899,   0.28199698,0.56001899,   0.2707605,0.4579564,   0.32195311,0.4579564,   0.28199698,0.56001899,   0.22037856,0.4579564,   0.2707605,0.4579564,   0.2303278,0.56001899,   0.22037856,0.4579564,   0.28199698,0.56001899,   0.17705981,0.56001899,   0.22037856,0.4579564,   0.2303278,0.56001899,   0.17705981,0.56001899,   0.17046663,0.4579564,   0.22037856,0.4579564,   0.17705981,0.56001899,   0.12037663,0.45795639,   0.17046663,0.4579564,   0.12079168,0.56001899,   0.12037663,0.45795639,   0.17705981,0.56001899,   0.059510376,0.56001899,   0.12037663,0.45795639,   0.12079168,0.56001899,   0.059510376,0.56001899,   0.070228823,0.45795639,   0.12037663,0.45795639,   0.85693278,0.45795642,   0.90708053,0.45795642,   0.91779901,0.56001899,   0.85693278,0.45795642,   0.82199662,0.38250436,   0.84919307,0.38385446,   0.85693278,0.45795642,   0.89296828,0.38285837,   0.90708053,0.45795642,   0.80684273,0.45795642,   0.82199662,0.38250436,   0.85693278,0.45795642,   0.75693081,0.45795641,   0.80310571,0.38139168,   0.80684273,0.45795642,   0.75693081,0.45795641,   0.77619885,0.37859741,   0.80310571,0.38139168,   0.75693081,0.45795641,   0.72792485,0.37125113,   0.75518378,0.374797,   0.70654887,0.45795641,   0.72792485,0.37125113,   0.75693081,0.45795641,   0.65535627,0.45795641,   0.70592598,0.36647373,   0.70654887,0.45795641,   0.65535627,0.45795641,   0.67818786,0.36245149,   0.70592598,0.36647373,   0.65535627,0.45795641,   0.62714796,0.35137963,   0.65589456,0.35595595,   0.60234152,0.45795641,   0.62714796,0.35137963,   0.65535627,0.45795641,   0.54709445,0.45795641,   0.60067338,0.3449307,   0.60234152,0.45795641,   0.54709445,0.45795641,   0.57086482,0.34094282,   0.60067338,0.3449307,   0.54709445,0.45795641,   0.51074328,0.32952243,   0.54245419,0.33267348,   0.48865469,0.45795641,   0.51074328,0.32952243,   0.54709445,0.45795641,   0.4302149,0.4579564,   0.46656638,0.32952251,   0.48865469,0.45795641,   0.4302149,0.4579564,   0.4348549,0.33267337,   0.46656638,0.32952251,   0.4302149,0.4579564,   0.37663601,0.34493118,   0.40644448,0.34094235,   0.37496786,0.4579564,   0.37663601,0.34493118,   0.4302149,0.4579564,   0.32195311,0.4579564,   0.35016083,0.35138003,   0.37496786,0.4579564,   0.32195311,0.4579564,   0.32141542,0.35595561,   0.35016083,0.35138003,   0.32195311,0.4579564,   0.27138281,0.36647321,   0.29912214,0.36245196,   0.2707605,0.4579564,   0.27138281,0.36647321,   0.32195311,0.4579564,   0.22037856,0.4579564,   0.2493847,0.37125042,   0.2707605,0.4579564,   0.22037856,0.4579564,   0.22212535,0.3747977,   0.2493847,0.37125042,   0.22037856,0.4579564,   0.17420432,0.38139158,   0.20110988,0.37859758,   0.17046663,0.4579564,   0.17420432,0.38139158,   0.22037856,0.4579564,   0.12037663,0.45795639,   0.15531303,0.38250466,   0.17046663,0.4579564,   0.12037663,0.45795639,   0.12811605,0.38385414,   0.15531303,0.38250466,   0.12037663,0.45795639,   0.084340929,0.38285852,   0.11168619,0.38378728,   0.070228823,0.45795639,   0.084340929,0.38285852,   0.12037663,0.45795639,   0.86562334,0.38378742,   0.89296828,0.38285837,   0.85693278,0.45795642,   0.86562334,0.38378742,   0.87692441,0.31094667,   0.89296828,0.38285837,   0.82199662,0.38250436,   0.83919279,0.31126907,   0.84919307,0.38385446,   0.77619885,0.37859741,   0.79707636,0.3089041,   0.80310571,0.38139168,   0.72792485,0.37125113,   0.75093491,0.30094888,   0.75518378,0.374797,   0.67818786,0.36245149,   0.70267303,0.29107259,   0.70592598,0.36647373,   0.62714796,0.35137963,   0.65363307,0.27763999,   0.65589456,0.35595595,   0.57086482,0.34094282,   0.59626992,0.2641011,   0.60067338,0.3449307,   0.51074328,0.32952243,   0.53490917,0.24713356,   0.54245419,0.33267348,   0.4348549,0.33267337,   0.44239984,0.2471346,   0.46656638,0.32952251,   0.37663601,0.34493118,   0.38104115,0.26410093,   0.40644448,0.34094235,   0.32141542,0.35595561,   0.32367495,0.27763785,   0.35016083,0.35138003,   0.27138281,0.36647321,   0.27463456,0.29107476,   0.29912214,0.36245196,   0.22212535,0.3747977,   0.22637703,0.30094966,   0.2493847,0.37125042,   0.17420432,0.38139158,   0.18023255,0.30890174,   0.20110988,0.37859758,   0.12811605,0.38385414,   0.13811544,0.31127004,   0.15531303,0.38250466,   0.084340929,0.38285852,   0.10038548,0.31094724,   0.11168619,0.38378728,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.999234513896439,0.0391201511819484,   0,0.999234513896439,0.0391201511819484,   0,0.999234513896439,0.0391201511819484,   0,0.999234513896439,0.0391201511819484,   0,0.999234513896439,0.0391201511819484,   0,0.999234513896439,0.0391201511819484,   0.979253696964734,0.0634406526299195,-0.192451242071314,   0.979253696964734,0.0634406526299195,-0.192451242071314,   0.979253696964734,0.0634406526299195,-0.192451242071314,   0,0.99923451390125,0.0391201511821367,   0,0.99923451390125,0.0391201511821367,   0,0.99923451390125,0.0391201511821367,   0.979253700925903,0.0482005021893658,0.196822002864555,   0.979253700925903,0.0482005021893658,0.196822002864555,   0.979253700925903,0.0482005021893658,0.196822002864555,   0.979253708876079,0.0482005055688002,0.196821962482229,   0.979253708876079,0.0482005055688002,0.196821962482229,   0.979253708876079,0.0482005055688002,0.196821962482229,   0.830171195095948,0.0341204450084621,0.556463459775563,   0.830171195095948,0.0341204450084621,0.556463459775563,   0.830171195095948,0.0341204450084621,0.556463459775563,   0,0.999234512202863,0.0391201945583273,   0,0.999234512202863,0.0391201945583273,   0,0.999234512202863,0.0391201945583273,   0,0.999234512203072,0.0391201945583355,   0,0.999234512203072,0.0391201945583355,   0,0.999234512203072,0.0391201945583355,   0.830171252695131,0.0341204438669332,0.556463373915049,   0.830171252695131,0.0341204438669332,0.556463373915049,   0.830171252695131,0.0341204438669332,0.556463373915049,   0,0.999234503253314,0.0391204231582761,   0,0.999234503253314,0.0391204231582761,   0,0.999234503253314,0.0391204231582761,   0,0.999234503253314,0.0391204231582761,   0,0.999234503253314,0.0391204231582761,   0,0.999234503253314,0.0391204231582761,   0,0.9992345032532,0.0391204231582716,   0,0.9992345032532,0.0391204231582716,   0,0.9992345032532,0.0391204231582716,   0.554702615193727,0.0233440284060303,0.831721146199265,   0.554702615193727,0.0233440284060303,0.831721146199265,   0.554702615193727,0.0233440284060303,0.831721146199265,   0.554702690956925,0.0233440343693552,0.831721095502878,   0.554702690956925,0.0233440343693552,0.831721095502878,   0.554702690956925,0.0233440343693552,0.831721095502878,   0.194785730661177,0.017511883374407,0.98068947841377,   0.194785730661177,0.017511883374407,0.98068947841377,   0.194785730661177,0.017511883374407,0.98068947841377,   0,0.999234505353034,0.0391203695261294,   0,0.999234505353034,0.0391203695261294,   0,0.999234505353034,0.0391203695261294,   0,0.999234505353034,0.0391203695261294,   0,0.999234505353034,0.0391203695261294,   0,0.999234505353034,0.0391203695261294,   0.194785718170122,0.0175118838325021,0.980689480886579,   0.194785718170122,0.0175118838325021,0.980689480886579,   0.194785718170122,0.0175118838325021,0.980689480886579,   0,0.9992345032532,0.0391204231582716,   0,0.9992345032532,0.0391204231582716,   0,0.9992345032532,0.0391204231582716,   -0.194785718170122,0.0175118838325021,0.980689480886579,   -0.194785718170122,0.0175118838325021,0.980689480886579,   -0.194785718170122,0.0175118838325021,0.980689480886579,   -0.194785730661177,0.017511883374407,0.98068947841377,   -0.194785730661177,0.017511883374407,0.98068947841377,   -0.194785730661177,0.017511883374407,0.98068947841377,   -0.554702690956925,0.0233440343693552,0.831721095502878,   -0.554702690956925,0.0233440343693552,0.831721095502878,   -0.554702690956925,0.0233440343693552,0.831721095502878,   0,0.999234512203072,0.0391201945583355,   0,0.999234512203072,0.0391201945583355,   0,0.999234512203072,0.0391201945583355,   0,0.999234512202864,0.0391201945583273,   0,0.999234512202864,0.0391201945583273,   0,0.999234512202864,0.0391201945583273,   -0.554702615193727,0.0233440284060303,0.831721146199265,   -0.554702615193727,0.0233440284060303,0.831721146199265,   -0.554702615193727,0.0233440284060303,0.831721146199265,   0,0.999234513901249,0.0391201511821367,   0,0.999234513901249,0.0391201511821367,   0,0.999234513901249,0.0391201511821367,   -0.830171252695131,0.0341204438669332,0.556463373915049,   -0.830171252695131,0.0341204438669332,0.556463373915049,   -0.830171252695131,0.0341204438669332,0.556463373915049,   -0.830171195095948,0.0341204450084621,0.556463459775563,   -0.830171195095948,0.0341204450084621,0.556463459775563,   -0.830171195095948,0.0341204450084621,0.556463459775563,   -0.979253708876079,0.0482005055688002,0.196821962482229,   -0.979253708876079,0.0482005055688002,0.196821962482229,   -0.979253708876079,0.0482005055688002,0.196821962482229,   -0.979253700925903,0.0482005021893658,0.196822002864555,   -0.979253700925903,0.0482005021893658,0.196822002864555,   -0.979253700925903,0.0482005021893658,0.196822002864555,   -0.979253696964734,0.0634406526299195,-0.192451242071314,   -0.979253696964734,0.0634406526299195,-0.192451242071314,   -0.979253696964734,0.0634406526299195,-0.192451242071314,   -0.97925370673822,0.063440652890506,-0.19245119225477,   -0.97925370673822,0.063440652890506,-0.19245119225477,   -0.97925370673822,0.063440652890506,-0.19245119225477,   -0.830171207446931,0.0775207115069962,-0.552092660351099,   -0.830171207446931,0.0775207115069962,-0.552092660351099,   -0.830171207446931,0.0775207115069962,-0.552092660351099,   -0.830171235041929,0.0775207077458453,-0.552092619385137,   -0.830171235041929,0.0775207077458453,-0.552092619385137,   -0.830171235041929,0.0775207077458453,-0.552092619385137,   -0.554702676867285,0.088297120594236,-0.827350324089521,   -0.554702676867285,0.088297120594236,-0.827350324089521,   -0.554702676867285,0.088297120594236,-0.827350324089521,   -0.554702667234012,0.0882971203422769,-0.827350330575104,   -0.554702667234012,0.0882971203422769,-0.827350330575104,   -0.554702667234012,0.0882971203422769,-0.827350330575104,   -0.194785714988963,0.094129271895914,-0.976318700736897,   -0.194785714988963,0.094129271895914,-0.976318700736897,   -0.194785714988963,0.094129271895914,-0.976318700736897,   -0.194785705826057,0.0941292723727401,-0.97631870251902,   -0.194785705826057,0.0941292723727401,-0.97631870251902,   -0.194785705826057,0.0941292723727401,-0.97631870251902,   0.194785705826057,0.0941292723727401,-0.97631870251902,   0.194785705826057,0.0941292723727401,-0.97631870251902,   0.194785705826057,0.0941292723727401,-0.97631870251902,   0.194785714988963,0.0941292718959139,-0.976318700736898,   0.194785714988963,0.0941292718959139,-0.976318700736898,   0.194785714988963,0.0941292718959139,-0.976318700736898,   0.554702667234012,0.0882971203422769,-0.827350330575104,   0.554702667234012,0.0882971203422769,-0.827350330575104,   0.554702667234012,0.0882971203422769,-0.827350330575104,   0.554702676867285,0.088297120594236,-0.827350324089521,   0.554702676867285,0.088297120594236,-0.827350324089521,   0.554702676867285,0.088297120594236,-0.827350324089521,   0.830171235041929,0.0775207077458453,-0.552092619385137,   0.830171235041929,0.0775207077458453,-0.552092619385137,   0.830171235041929,0.0775207077458453,-0.552092619385137,   0.830171207446931,0.0775207115069962,-0.552092660351098,   0.830171207446931,0.0775207115069962,-0.552092660351098,   0.830171207446931,0.0775207115069962,-0.552092660351098,   0.97925370673822,0.063440652890506,-0.19245119225477,   0.97925370673822,0.063440652890506,-0.19245119225477,   0.97925370673822,0.063440652890506,-0.19245119225477,   0,-0.999234512592127,-0.0391201845773796,   0,-0.999234512592127,-0.0391201845773796,   0,-0.999234512592127,-0.0391201845773796,   0,-0.999234512592127,-0.0391201845773796,   0,-0.999234512592127,-0.0391201845773796,   0,-0.999234512592127,-0.0391201845773796,   0,-0.999234508603607,-0.0391202864978603,   0,-0.999234508603607,-0.0391202864978603,   0,-0.999234508603607,-0.0391202864978603,   0,-0.999234509279886,-0.0391202692223623,   0,-0.999234509279886,-0.0391202692223623,   0,-0.999234509279886,-0.0391202692223623,   0,-0.999234505528077,-0.039120365055047,   0,-0.999234505528077,-0.039120365055047,   0,-0.999234505528077,-0.039120365055047,   0,-0.999234509279957,-0.0391202692223651,   0,-0.999234509279957,-0.0391202692223651,   0,-0.999234509279957,-0.0391202692223651,   0,-0.99923450860355,-0.0391202864978581,   0,-0.99923450860355,-0.0391202864978581,   0,-0.99923450860355,-0.0391202864978581,   0,-0.999234512593773,-0.0391201845774441,   0,-0.999234512593773,-0.0391201845774441,   0,-0.999234512593773,-0.0391201845774441,   0,-0.999234508603608,-0.0391202864978603,   0,-0.999234508603608,-0.0391202864978603,   0,-0.999234508603608,-0.0391202864978603,   0,-0.999234509279853,-0.039120269222361,   0,-0.999234509279853,-0.039120269222361,   0,-0.999234509279853,-0.039120269222361,   0,-0.999234505527907,-0.0391203650550403,   0,-0.999234505527907,-0.0391203650550403,   0,-0.999234505527907,-0.0391203650550403,   0,-0.999234509279772,-0.0391202692223579,   0,-0.999234509279772,-0.0391202692223579,   0,-0.999234509279772,-0.0391202692223579,   0,-0.999234508603508,-0.0391202864978564,   0,-0.999234508603508,-0.0391202864978564,   0,-0.999234508603508,-0.0391202864978564,   0,-0.999234512593774,-0.0391201845774441,   0,-0.999234512593774,-0.0391201845774441,   0,-0.999234512593774,-0.0391201845774441,   0.878183960296039,0.445285571646999,-0.174681686394914,   0.878183960296039,0.445285571646999,-0.174681686394914,   0.878183960296039,0.445285571646999,-0.174681686394914,   0.644162108715998,0.754080506454736,0.128131836323089,   0.644162108715998,0.754080506454736,0.128131836323089,   0.644162108715998,0.754080506454736,0.128131836323089,   0.878183960296039,0.445285571646999,0.174681686394914,   0.878183960296039,0.445285571646999,0.174681686394914,   0.878183960296039,0.445285571646999,0.174681686394914,   0.8781839593158,0.445285565699255,0.174681706484448,   0.8781839593158,0.445285565699255,0.174681706484448,   0.8781839593158,0.445285565699255,0.174681706484448,   0.744488411701077,0.44528555242655,0.497451285698399,   0.744488411701077,0.44528555242655,0.497451285698399,   0.744488411701077,0.44528555242655,0.497451285698399,   0.54609427773606,0.75408050728672,0.364888514966056,   0.54609427773606,0.75408050728672,0.364888514966056,   0.54609427773606,0.75408050728672,0.364888514966056,   0.744488442328843,0.445285538945063,0.497451251928446,   0.744488442328843,0.445285538945063,0.497451251928446,   0.744488442328843,0.445285538945063,0.497451251928446,   0.364888514966056,0.75408050728672,0.54609427773606,   0.364888514966056,0.75408050728672,0.54609427773606,   0.364888514966056,0.75408050728672,0.54609427773606,   0.497451251928446,0.445285538945063,0.744488442328843,   0.497451251928446,0.445285538945063,0.744488442328843,   0.497451251928446,0.445285538945063,0.744488442328843,   0.497451285698399,0.44528555242655,0.744488411701077,   0.497451285698399,0.44528555242655,0.744488411701077,   0.497451285698399,0.44528555242655,0.744488411701077,   0.174681706484448,0.445285565699255,0.8781839593158,   0.174681706484448,0.445285565699255,0.8781839593158,   0.174681706484448,0.445285565699255,0.8781839593158,   0.128131836323089,0.754080506454736,0.644162108715998,   0.128131836323089,0.754080506454736,0.644162108715998,   0.128131836323089,0.754080506454736,0.644162108715998,   0.174681686394914,0.445285571646999,0.878183960296039,   0.174681686394914,0.445285571646999,0.878183960296039,   0.174681686394914,0.445285571646999,0.878183960296039,   -0.128131836323089,0.754080506454736,0.644162108715998,   -0.128131836323089,0.754080506454736,0.644162108715998,   -0.128131836323089,0.754080506454736,0.644162108715998,   -0.174681686394914,0.445285571646999,0.878183960296039,   -0.174681686394914,0.445285571646999,0.878183960296039,   -0.174681686394914,0.445285571646999,0.878183960296039,   -0.174681706484448,0.445285565699255,0.8781839593158,   -0.174681706484448,0.445285565699255,0.8781839593158,   -0.174681706484448,0.445285565699255,0.8781839593158,   -0.497451285698399,0.44528555242655,0.744488411701077,   -0.497451285698399,0.44528555242655,0.744488411701077,   -0.497451285698399,0.44528555242655,0.744488411701077,   -0.364888514966056,0.75408050728672,0.54609427773606,   -0.364888514966056,0.75408050728672,0.54609427773606,   -0.364888514966056,0.75408050728672,0.54609427773606,   -0.497451251928446,0.445285538945063,0.744488442328843,   -0.497451251928446,0.445285538945063,0.744488442328843,   -0.497451251928446,0.445285538945063,0.744488442328843,   -0.54609427773606,0.75408050728672,0.364888514966056,   -0.54609427773606,0.75408050728672,0.364888514966056,   -0.54609427773606,0.75408050728672,0.364888514966056,   -0.744488442328843,0.445285538945063,0.497451251928446,   -0.744488442328843,0.445285538945063,0.497451251928446,   -0.744488442328843,0.445285538945063,0.497451251928446,   -0.744488411701077,0.44528555242655,0.497451285698399,   -0.744488411701077,0.44528555242655,0.497451285698399,   -0.744488411701077,0.44528555242655,0.497451285698399,   -0.8781839593158,0.445285565699255,0.174681706484448,   -0.8781839593158,0.445285565699255,0.174681706484448,   -0.8781839593158,0.445285565699255,0.174681706484448,   -0.644162108715998,0.754080506454736,0.128131836323089,   -0.644162108715998,0.754080506454736,0.128131836323089,   -0.644162108715998,0.754080506454736,0.128131836323089,   -0.878183960296039,0.445285571646999,0.174681686394914,   -0.878183960296039,0.445285571646999,0.174681686394914,   -0.878183960296039,0.445285571646999,0.174681686394914,   -0.644162108715998,0.754080506454736,-0.128131836323089,   -0.644162108715998,0.754080506454736,-0.128131836323089,   -0.644162108715998,0.754080506454736,-0.128131836323089,   -0.878183960296039,0.445285571646999,-0.174681686394914,   -0.878183960296039,0.445285571646999,-0.174681686394914,   -0.878183960296039,0.445285571646999,-0.174681686394914,   -0.8781839593158,0.445285565699255,-0.174681706484448,   -0.8781839593158,0.445285565699255,-0.174681706484448,   -0.8781839593158,0.445285565699255,-0.174681706484448,   -0.744488411701077,0.44528555242655,-0.497451285698399,   -0.744488411701077,0.44528555242655,-0.497451285698399,   -0.744488411701077,0.44528555242655,-0.497451285698399,   -0.54609427773606,0.75408050728672,-0.364888514966056,   -0.54609427773606,0.75408050728672,-0.364888514966056,   -0.54609427773606,0.75408050728672,-0.364888514966056,   -0.744488442328843,0.445285538945063,-0.497451251928446,   -0.744488442328843,0.445285538945063,-0.497451251928446,   -0.744488442328843,0.445285538945063,-0.497451251928446,   -0.364888514966056,0.75408050728672,-0.54609427773606,   -0.364888514966056,0.75408050728672,-0.54609427773606,   -0.364888514966056,0.75408050728672,-0.54609427773606,   -0.497451251928446,0.445285538945063,-0.744488442328843,   -0.497451251928446,0.445285538945063,-0.744488442328843,   -0.497451251928446,0.445285538945063,-0.744488442328843,   -0.497451285698399,0.44528555242655,-0.744488411701077,   -0.497451285698399,0.44528555242655,-0.744488411701077,   -0.497451285698399,0.44528555242655,-0.744488411701077,   -0.174681706484448,0.445285565699255,-0.8781839593158,   -0.174681706484448,0.445285565699255,-0.8781839593158,   -0.174681706484448,0.445285565699255,-0.8781839593158,   -0.128131836323089,0.754080506454736,-0.644162108715998,   -0.128131836323089,0.754080506454736,-0.644162108715998,   -0.128131836323089,0.754080506454736,-0.644162108715998,   -0.174681686394914,0.445285571646999,-0.878183960296039,   -0.174681686394914,0.445285571646999,-0.878183960296039,   -0.174681686394914,0.445285571646999,-0.878183960296039,   0.128131836323089,0.754080506454736,-0.644162108715998,   0.128131836323089,0.754080506454736,-0.644162108715998,   0.128131836323089,0.754080506454736,-0.644162108715998,   0.174681686394914,0.445285571646999,-0.878183960296039,   0.174681686394914,0.445285571646999,-0.878183960296039,   0.174681686394914,0.445285571646999,-0.878183960296039,   0.174681706484448,0.445285565699255,-0.8781839593158,   0.174681706484448,0.445285565699255,-0.8781839593158,   0.174681706484448,0.445285565699255,-0.8781839593158,   0.497451285698399,0.44528555242655,-0.744488411701077,   0.497451285698399,0.44528555242655,-0.744488411701077,   0.497451285698399,0.44528555242655,-0.744488411701077,   0.364888514966056,0.75408050728672,-0.54609427773606,   0.364888514966056,0.75408050728672,-0.54609427773606,   0.364888514966056,0.75408050728672,-0.54609427773606,   0.497451251928446,0.445285538945063,-0.744488442328843,   0.497451251928446,0.445285538945063,-0.744488442328843,   0.497451251928446,0.445285538945063,-0.744488442328843,   0.54609427773606,0.75408050728672,-0.364888514966056,   0.54609427773606,0.75408050728672,-0.364888514966056,   0.54609427773606,0.75408050728672,-0.364888514966056,   0.744488442328843,0.445285538945063,-0.497451251928446,   0.744488442328843,0.445285538945063,-0.497451251928446,   0.744488442328843,0.445285538945063,-0.497451251928446,   0.744488411701077,0.44528555242655,-0.497451285698399,   0.744488411701077,0.44528555242655,-0.497451285698399,   0.744488411701077,0.44528555242655,-0.497451285698399,   0.644162108715998,0.754080506454736,-0.128131836323089,   0.644162108715998,0.754080506454736,-0.128131836323089,   0.644162108715998,0.754080506454736,-0.128131836323089,   0.8781839593158,0.445285565699255,-0.174681706484448,   0.8781839593158,0.445285565699255,-0.174681706484448,   0.8781839593158,0.445285565699255,-0.174681706484448,   0.942179486742844,0.277803666525894,0.187411145948579,   0.942179486742844,0.277803666525894,0.187411145948579,   0.942179486742844,0.277803666525894,0.187411145948579,   0.942179466633407,0.27780369257129,-0.187411208437874,   0.942179466633407,0.27780369257129,-0.187411208437874,   0.942179466633407,0.27780369257129,-0.187411208437874,   0.942179466633407,0.27780369257129,0.187411208437874,   0.942179466633407,0.27780369257129,0.187411208437874,   0.942179466633407,0.27780369257129,0.187411208437874,   0.798741176077898,0.277803697324677,0.533701826294829,   0.798741176077898,0.277803697324677,0.533701826294829,   0.798741176077898,0.277803697324677,0.533701826294829,   0.798741213751524,0.27780373006808,0.533701752868588,   0.798741213751524,0.27780373006808,0.533701752868588,   0.798741213751524,0.27780373006808,0.533701752868588,   0.533701752868588,0.27780373006808,0.798741213751524,   0.533701752868588,0.27780373006808,0.798741213751524,   0.533701752868588,0.27780373006808,0.798741213751524,   0.533701826294829,0.277803697324677,0.798741176077898,   0.533701826294829,0.277803697324677,0.798741176077898,   0.533701826294829,0.277803697324677,0.798741176077898,   0.187411208437874,0.27780369257129,0.942179466633407,   0.187411208437874,0.27780369257129,0.942179466633407,   0.187411208437874,0.27780369257129,0.942179466633407,   0.187411145948579,0.277803666525894,0.942179486742845,   0.187411145948579,0.277803666525894,0.942179486742845,   0.187411145948579,0.277803666525894,0.942179486742845,   -0.187411145948579,0.277803666525894,0.942179486742845,   -0.187411145948579,0.277803666525894,0.942179486742845,   -0.187411145948579,0.277803666525894,0.942179486742845,   -0.187411208437874,0.27780369257129,0.942179466633407,   -0.187411208437874,0.27780369257129,0.942179466633407,   -0.187411208437874,0.27780369257129,0.942179466633407,   -0.533701826294829,0.277803697324677,0.798741176077898,   -0.533701826294829,0.277803697324677,0.798741176077898,   -0.533701826294829,0.277803697324677,0.798741176077898,   -0.533701752868588,0.27780373006808,0.798741213751524,   -0.533701752868588,0.27780373006808,0.798741213751524,   -0.533701752868588,0.27780373006808,0.798741213751524,   -0.798741213751524,0.27780373006808,0.533701752868588,   -0.798741213751524,0.27780373006808,0.533701752868588,   -0.798741213751524,0.27780373006808,0.533701752868588,   -0.798741176077898,0.277803697324677,0.533701826294829,   -0.798741176077898,0.277803697324677,0.533701826294829,   -0.798741176077898,0.277803697324677,0.533701826294829,   -0.942179466633407,0.27780369257129,0.187411208437874,   -0.942179466633407,0.27780369257129,0.187411208437874,   -0.942179466633407,0.27780369257129,0.187411208437874,   -0.942179486742844,0.277803666525894,0.187411145948579,   -0.942179486742844,0.277803666525894,0.187411145948579,   -0.942179486742844,0.277803666525894,0.187411145948579,   -0.942179486742844,0.277803666525894,-0.187411145948579,   -0.942179486742844,0.277803666525894,-0.187411145948579,   -0.942179486742844,0.277803666525894,-0.187411145948579,   -0.942179466633407,0.27780369257129,-0.187411208437874,   -0.942179466633407,0.27780369257129,-0.187411208437874,   -0.942179466633407,0.27780369257129,-0.187411208437874,   -0.798741176077898,0.277803697324677,-0.533701826294829,   -0.798741176077898,0.277803697324677,-0.533701826294829,   -0.798741176077898,0.277803697324677,-0.533701826294829,   -0.798741213751524,0.27780373006808,-0.533701752868588,   -0.798741213751524,0.27780373006808,-0.533701752868588,   -0.798741213751524,0.27780373006808,-0.533701752868588,   -0.533701752868588,0.27780373006808,-0.798741213751524,   -0.533701752868588,0.27780373006808,-0.798741213751524,   -0.533701752868588,0.27780373006808,-0.798741213751524,   -0.533701826294829,0.277803697324677,-0.798741176077898,   -0.533701826294829,0.277803697324677,-0.798741176077898,   -0.533701826294829,0.277803697324677,-0.798741176077898,   -0.187411208437874,0.27780369257129,-0.942179466633407,   -0.187411208437874,0.27780369257129,-0.942179466633407,   -0.187411208437874,0.27780369257129,-0.942179466633407,   -0.187411145948579,0.277803666525894,-0.942179486742845,   -0.187411145948579,0.277803666525894,-0.942179486742845,   -0.187411145948579,0.277803666525894,-0.942179486742845,   0.187411145948579,0.277803666525894,-0.942179486742845,   0.187411145948579,0.277803666525894,-0.942179486742845,   0.187411145948579,0.277803666525894,-0.942179486742845,   0.187411208437874,0.27780369257129,-0.942179466633407,   0.187411208437874,0.27780369257129,-0.942179466633407,   0.187411208437874,0.27780369257129,-0.942179466633407,   0.533701826294829,0.277803697324677,-0.798741176077898,   0.533701826294829,0.277803697324677,-0.798741176077898,   0.533701826294829,0.277803697324677,-0.798741176077898,   0.533701752868588,0.27780373006808,-0.798741213751524,   0.533701752868588,0.27780373006808,-0.798741213751524,   0.533701752868588,0.27780373006808,-0.798741213751524,   0.798741213751524,0.27780373006808,-0.533701752868588,   0.798741213751524,0.27780373006808,-0.533701752868588,   0.798741213751524,0.27780373006808,-0.533701752868588,   0.798741176077898,0.277803697324677,-0.533701826294829,   0.798741176077898,0.277803697324677,-0.533701826294829,   0.798741176077898,0.277803697324677,-0.533701826294829,   0.942179486742844,0.277803666525894,-0.187411145948579,   0.942179486742844,0.277803666525894,-0.187411145948579,   0.942179486742844,0.277803666525894,-0.187411145948579,   0.962917055651036,0.190012274653134,-0.191536104736111,   0.962917055651036,0.190012274653134,-0.191536104736111,   0.962917055651036,0.190012274653134,-0.191536104736111,   0.962917055651036,0.190012274653134,0.191536104736111,   0.962917055651036,0.190012274653134,0.191536104736111,   0.962917055651036,0.190012274653134,0.191536104736111,   0.962917049505553,0.190012244334688,0.191536165708764,   0.962917049505553,0.190012244334688,0.191536165708764,   0.962917049505553,0.190012244334688,0.191536165708764,   0.81632170804583,0.190012244506253,0.545448637280206,   0.81632170804583,0.190012244506253,0.545448637280206,   0.81632170804583,0.190012244506253,0.545448637280206,   0.81632169487454,0.190012254806661,0.545448653404192,   0.81632169487454,0.190012254806661,0.545448653404192,   0.81632169487454,0.190012254806661,0.545448653404192,   0.545448653404192,0.190012254806661,0.81632169487454,   0.545448653404192,0.190012254806661,0.81632169487454,   0.545448653404192,0.190012254806661,0.81632169487454,   0.545448637280206,0.190012244506253,0.81632170804583,   0.545448637280206,0.190012244506253,0.81632170804583,   0.545448637280206,0.190012244506253,0.81632170804583,   0.191536165708764,0.190012244334688,0.962917049505553,   0.191536165708764,0.190012244334688,0.962917049505553,   0.191536165708764,0.190012244334688,0.962917049505553,   0.191536104736111,0.190012274653134,0.962917055651036,   0.191536104736111,0.190012274653134,0.962917055651036,   0.191536104736111,0.190012274653134,0.962917055651036,   -0.191536104736111,0.190012274653134,0.962917055651036,   -0.191536104736111,0.190012274653134,0.962917055651036,   -0.191536104736111,0.190012274653134,0.962917055651036,   -0.191536165708764,0.190012244334688,0.962917049505553,   -0.191536165708764,0.190012244334688,0.962917049505553,   -0.191536165708764,0.190012244334688,0.962917049505553,   -0.545448637280206,0.190012244506253,0.81632170804583,   -0.545448637280206,0.190012244506253,0.81632170804583,   -0.545448637280206,0.190012244506253,0.81632170804583,   -0.545448653404192,0.190012254806661,0.81632169487454,   -0.545448653404192,0.190012254806661,0.81632169487454,   -0.545448653404192,0.190012254806661,0.81632169487454,   -0.81632169487454,0.190012254806661,0.545448653404192,   -0.81632169487454,0.190012254806661,0.545448653404192,   -0.81632169487454,0.190012254806661,0.545448653404192,   -0.81632170804583,0.190012244506253,0.545448637280206,   -0.81632170804583,0.190012244506253,0.545448637280206,   -0.81632170804583,0.190012244506253,0.545448637280206,   -0.962917049505553,0.190012244334688,0.191536165708764,   -0.962917049505553,0.190012244334688,0.191536165708764,   -0.962917049505553,0.190012244334688,0.191536165708764,   -0.962917055651036,0.190012274653134,0.191536104736111,   -0.962917055651036,0.190012274653134,0.191536104736111,   -0.962917055651036,0.190012274653134,0.191536104736111,   -0.962917055651036,0.190012274653134,-0.191536104736111,   -0.962917055651036,0.190012274653134,-0.191536104736111,   -0.962917055651036,0.190012274653134,-0.191536104736111,   -0.962917049505553,0.190012244334688,-0.191536165708764,   -0.962917049505553,0.190012244334688,-0.191536165708764,   -0.962917049505553,0.190012244334688,-0.191536165708764,   -0.81632170804583,0.190012244506253,-0.545448637280206,   -0.81632170804583,0.190012244506253,-0.545448637280206,   -0.81632170804583,0.190012244506253,-0.545448637280206,   -0.81632169487454,0.190012254806661,-0.545448653404192,   -0.81632169487454,0.190012254806661,-0.545448653404192,   -0.81632169487454,0.190012254806661,-0.545448653404192,   -0.545448653404192,0.190012254806661,-0.81632169487454,   -0.545448653404192,0.190012254806661,-0.81632169487454,   -0.545448653404192,0.190012254806661,-0.81632169487454,   -0.545448637280206,0.190012244506253,-0.81632170804583,   -0.545448637280206,0.190012244506253,-0.81632170804583,   -0.545448637280206,0.190012244506253,-0.81632170804583,   -0.191536165708764,0.190012244334688,-0.962917049505553,   -0.191536165708764,0.190012244334688,-0.962917049505553,   -0.191536165708764,0.190012244334688,-0.962917049505553,   -0.191536104736111,0.190012274653134,-0.962917055651036,   -0.191536104736111,0.190012274653134,-0.962917055651036,   -0.191536104736111,0.190012274653134,-0.962917055651036,   0.191536104736111,0.190012274653134,-0.962917055651036,   0.191536104736111,0.190012274653134,-0.962917055651036,   0.191536104736111,0.190012274653134,-0.962917055651036,   0.191536165708764,0.190012244334688,-0.962917049505553,   0.191536165708764,0.190012244334688,-0.962917049505553,   0.191536165708764,0.190012244334688,-0.962917049505553,   0.545448637280206,0.190012244506253,-0.81632170804583,   0.545448637280206,0.190012244506253,-0.81632170804583,   0.545448637280206,0.190012244506253,-0.81632170804583,   0.545448653404192,0.190012254806661,-0.81632169487454,   0.545448653404192,0.190012254806661,-0.81632169487454,   0.545448653404192,0.190012254806661,-0.81632169487454,   0.81632169487454,0.190012254806661,-0.545448653404192,   0.81632169487454,0.190012254806661,-0.545448653404192,   0.81632169487454,0.190012254806661,-0.545448653404192,   0.81632170804583,0.190012244506253,-0.545448637280206,   0.81632170804583,0.190012244506253,-0.545448637280206,   0.81632170804583,0.190012244506253,-0.545448637280206,   0.962917049505553,0.190012244334688,-0.191536165708764,   0.962917049505553,0.190012244334688,-0.191536165708764,   0.962917049505553,0.190012244334688,-0.191536165708764,   0.975318207039005,-0.105438682182075,0.194002781727292,   0.975318207039005,-0.105438682182075,0.194002781727292,   0.975318207039005,-0.105438682182075,0.194002781727292,   0.975318189387232,-0.105438615850187,-0.194002906519485,   0.975318189387232,-0.105438615850187,-0.194002906519485,   0.975318189387232,-0.105438615850187,-0.194002906519485,   0.975318189387232,-0.105438615850187,0.194002906519485,   0.975318189387232,-0.105438615850187,0.194002906519485,   0.975318189387232,-0.105438615850187,0.194002906519485,   0.826834886635256,-0.10543862537532,0.552473317474995,   0.826834886635256,-0.10543862537532,0.552473317474995,   0.826834886635256,-0.10543862537532,0.552473317474995,   0.826834805542256,-0.1054386963768,0.552473425288729,   0.826834805542256,-0.1054386963768,0.552473425288729,   0.826834805542256,-0.1054386963768,0.552473425288729,   0.552473425288729,-0.1054386963768,0.826834805542256,   0.552473425288729,-0.1054386963768,0.826834805542256,   0.552473425288729,-0.1054386963768,0.826834805542256,   0.552473317474995,-0.10543862537532,0.826834886635256,   0.552473317474995,-0.10543862537532,0.826834886635256,   0.552473317474995,-0.10543862537532,0.826834886635256,   0.194002906519485,-0.105438615850187,0.975318189387232,   0.194002906519485,-0.105438615850187,0.975318189387232,   0.194002906519485,-0.105438615850187,0.975318189387232,   0.194002781727292,-0.105438682182075,0.975318207039005,   0.194002781727292,-0.105438682182075,0.975318207039005,   0.194002781727292,-0.105438682182075,0.975318207039005,   -0.194002781727292,-0.105438682182075,0.975318207039005,   -0.194002781727292,-0.105438682182075,0.975318207039005,   -0.194002781727292,-0.105438682182075,0.975318207039005,   -0.194002906519485,-0.105438615850187,0.975318189387232,   -0.194002906519485,-0.105438615850187,0.975318189387232,   -0.194002906519485,-0.105438615850187,0.975318189387232,   -0.552473317474995,-0.10543862537532,0.826834886635256,   -0.552473317474995,-0.10543862537532,0.826834886635256,   -0.552473317474995,-0.10543862537532,0.826834886635256,   -0.552473425288729,-0.1054386963768,0.826834805542256,   -0.552473425288729,-0.1054386963768,0.826834805542256,   -0.552473425288729,-0.1054386963768,0.826834805542256,   -0.826834805542256,-0.1054386963768,0.552473425288729,   -0.826834805542256,-0.1054386963768,0.552473425288729,   -0.826834805542256,-0.1054386963768,0.552473425288729,   -0.826834886635256,-0.10543862537532,0.552473317474995,   -0.826834886635256,-0.10543862537532,0.552473317474995,   -0.826834886635256,-0.10543862537532,0.552473317474995,   -0.975318189387232,-0.105438615850187,0.194002906519485,   -0.975318189387232,-0.105438615850187,0.194002906519485,   -0.975318189387232,-0.105438615850187,0.194002906519485,   -0.975318207039005,-0.105438682182075,0.194002781727292,   -0.975318207039005,-0.105438682182075,0.194002781727292,   -0.975318207039005,-0.105438682182075,0.194002781727292,   -0.552473425288729,-0.1054386963768,-0.826834805542256,   -0.552473425288729,-0.1054386963768,-0.826834805542256,   -0.552473425288729,-0.1054386963768,-0.826834805542256,   -0.552473317474995,-0.10543862537532,-0.826834886635256,   -0.552473317474995,-0.10543862537532,-0.826834886635256,   -0.552473317474995,-0.10543862537532,-0.826834886635256,   -0.194002906519485,-0.105438615850187,-0.975318189387232,   -0.194002906519485,-0.105438615850187,-0.975318189387232,   -0.194002906519485,-0.105438615850187,-0.975318189387232,   -0.194002781727292,-0.105438682182075,-0.975318207039005,   -0.194002781727292,-0.105438682182075,-0.975318207039005,   -0.194002781727292,-0.105438682182075,-0.975318207039005,   0.194002781727292,-0.105438682182075,-0.975318207039005,   0.194002781727292,-0.105438682182075,-0.975318207039005,   0.194002781727292,-0.105438682182075,-0.975318207039005,   0.194002906519485,-0.105438615850187,-0.975318189387232,   0.194002906519485,-0.105438615850187,-0.975318189387232,   0.194002906519485,-0.105438615850187,-0.975318189387232,   0.552473317474995,-0.10543862537532,-0.826834886635256,   0.552473317474995,-0.10543862537532,-0.826834886635256,   0.552473317474995,-0.10543862537532,-0.826834886635256,   0.552473425288729,-0.1054386963768,-0.826834805542256,   0.552473425288729,-0.1054386963768,-0.826834805542256,   0.552473425288729,-0.1054386963768,-0.826834805542256,   0.826834805542256,-0.1054386963768,-0.552473425288729,   0.826834805542256,-0.1054386963768,-0.552473425288729,   0.826834805542256,-0.1054386963768,-0.552473425288729,   0.826834886635256,-0.10543862537532,-0.552473317474995,   0.826834886635256,-0.10543862537532,-0.552473317474995,   0.826834886635256,-0.10543862537532,-0.552473317474995,   0.975318207039005,-0.105438682182075,-0.194002781727292,   0.975318207039005,-0.105438682182075,-0.194002781727292,   0.975318207039005,-0.105438682182075,-0.194002781727292,   0.923930781119175,-0.335524046154038,-0.183781190966142,   0.923930781119175,-0.335524046154038,-0.183781190966142,   0.923930781119175,-0.335524046154038,-0.183781190966142,   0.923930781119175,-0.335524046154038,0.183781190966142,   0.923930781119175,-0.335524046154038,0.183781190966142,   0.923930781119175,-0.335524046154038,0.183781190966142,   0.923930729091407,-0.335524114454675,0.183781327832907,   0.923930729091407,-0.335524114454675,0.183781327832907,   0.923930729091407,-0.335524114454675,0.183781327832907,   0.783270688656413,-0.335524105075374,0.523364694266893,   0.783270688656413,-0.335524105075374,0.523364694266893,   0.783270688656413,-0.335524105075374,0.523364694266893,   0.783270648931591,-0.335524059847498,0.523364782714443,   0.783270648931591,-0.335524059847498,0.523364782714443,   0.783270648931591,-0.335524059847498,0.523364782714443,   0.523364782714443,-0.335524059847498,0.783270648931591,   0.523364782714443,-0.335524059847498,0.783270648931591,   0.523364782714443,-0.335524059847498,0.783270648931591,   0.523364694266893,-0.335524105075374,0.783270688656413,   0.523364694266893,-0.335524105075374,0.783270688656413,   0.523364694266893,-0.335524105075374,0.783270688656413,   0.183781327832907,-0.335524114454675,0.923930729091407,   0.183781327832907,-0.335524114454675,0.923930729091407,   0.183781327832907,-0.335524114454675,0.923930729091407,   0.183781190966142,-0.335524046154038,0.923930781119175,   0.183781190966142,-0.335524046154038,0.923930781119175,   0.183781190966142,-0.335524046154038,0.923930781119175,   -0.183781190966142,-0.335524046154038,0.923930781119175,   -0.183781190966142,-0.335524046154038,0.923930781119175,   -0.183781190966142,-0.335524046154038,0.923930781119175,   -0.183781327832907,-0.335524114454675,0.923930729091407,   -0.183781327832907,-0.335524114454675,0.923930729091407,   -0.183781327832907,-0.335524114454675,0.923930729091407,   -0.523364694266893,-0.335524105075374,0.783270688656413,   -0.523364694266893,-0.335524105075374,0.783270688656413,   -0.523364694266893,-0.335524105075374,0.783270688656413,   -0.523364782714443,-0.335524059847498,0.783270648931591,   -0.523364782714443,-0.335524059847498,0.783270648931591,   -0.523364782714443,-0.335524059847498,0.783270648931591,   -0.783270648931591,-0.335524059847498,0.523364782714443,   -0.783270648931591,-0.335524059847498,0.523364782714443,   -0.783270648931591,-0.335524059847498,0.523364782714443,   -0.783270688656413,-0.335524105075374,0.523364694266893,   -0.783270688656413,-0.335524105075374,0.523364694266893,   -0.783270688656413,-0.335524105075374,0.523364694266893,   -0.923930729091407,-0.335524114454675,0.183781327832907,   -0.923930729091407,-0.335524114454675,0.183781327832907,   -0.923930729091407,-0.335524114454675,0.183781327832907,   -0.923930781119175,-0.335524046154038,0.183781190966142,   -0.923930781119175,-0.335524046154038,0.183781190966142,   -0.923930781119175,-0.335524046154038,0.183781190966142,   -0.923930781119175,-0.335524046154038,-0.183781190966142,   -0.923930781119175,-0.335524046154038,-0.183781190966142,   -0.923930781119175,-0.335524046154038,-0.183781190966142,   -0.923930729091407,-0.335524114454675,-0.183781327832907,   -0.923930729091407,-0.335524114454675,-0.183781327832907,   -0.923930729091407,-0.335524114454675,-0.183781327832907,   -0.783270688656413,-0.335524105075374,-0.523364694266893,   -0.783270688656413,-0.335524105075374,-0.523364694266893,   -0.783270688656413,-0.335524105075374,-0.523364694266893,   -0.783270648931591,-0.335524059847498,-0.523364782714443,   -0.783270648931591,-0.335524059847498,-0.523364782714443,   -0.783270648931591,-0.335524059847498,-0.523364782714443,   -0.523364782714443,-0.335524059847498,-0.783270648931591,   -0.523364782714443,-0.335524059847498,-0.783270648931591,   -0.523364782714443,-0.335524059847498,-0.783270648931591,   -0.523364694266893,-0.335524105075374,-0.783270688656413,   -0.523364694266893,-0.335524105075374,-0.783270688656413,   -0.523364694266893,-0.335524105075374,-0.783270688656413,   -0.183781327832907,-0.335524114454675,-0.923930729091407,   -0.183781327832907,-0.335524114454675,-0.923930729091407,   -0.183781327832907,-0.335524114454675,-0.923930729091407,   -0.183781190966142,-0.335524046154038,-0.923930781119175,   -0.183781190966142,-0.335524046154038,-0.923930781119175,   -0.183781190966142,-0.335524046154038,-0.923930781119175,   0.183781190966142,-0.335524046154038,-0.923930781119175,   0.183781190966142,-0.335524046154038,-0.923930781119175,   0.183781190966142,-0.335524046154038,-0.923930781119175,   0.183781327832907,-0.335524114454675,-0.923930729091407,   0.183781327832907,-0.335524114454675,-0.923930729091407,   0.183781327832907,-0.335524114454675,-0.923930729091407,   0.523364694266893,-0.335524105075374,-0.783270688656413,   0.523364694266893,-0.335524105075374,-0.783270688656413,   0.523364694266893,-0.335524105075374,-0.783270688656413,   0.523364782714443,-0.335524059847498,-0.783270648931591,   0.523364782714443,-0.335524059847498,-0.783270648931591,   0.523364782714443,-0.335524059847498,-0.783270648931591,   0.783270648931591,-0.335524059847498,-0.523364782714443,   0.783270648931591,-0.335524059847498,-0.523364782714443,   0.783270648931591,-0.335524059847498,-0.523364782714443,   0.783270688656413,-0.335524105075374,-0.523364694266893,   0.783270688656413,-0.335524105075374,-0.523364694266893,   0.783270688656413,-0.335524105075374,-0.523364694266893,   0.923930729091407,-0.335524114454675,-0.183781327832907,   0.923930729091407,-0.335524114454675,-0.183781327832907,   0.923930729091407,-0.335524114454675,-0.183781327832907,   0.671498852777226,-0.728867952169112,0.133569453916961,   0.671498852777226,-0.728867952169112,0.133569453916961,   0.671498852777226,-0.728867952169112,0.133569453916961,   0.671498857303792,-0.728867942308,-0.133569484970946,   0.671498857303792,-0.728867942308,-0.133569484970946,   0.671498857303792,-0.728867942308,-0.133569484970946,   0.671498857303792,-0.728867942308,0.133569484970946,   0.671498857303792,-0.728867942308,0.133569484970946,   0.671498857303792,-0.728867942308,0.133569484970946,   0.569269270970117,-0.728867939801861,0.380373531489959,   0.569269270970117,-0.728867939801861,0.380373531489959,   0.569269270970117,-0.728867939801861,0.380373531489959,   0.569269258080571,-0.728867944853889,0.380373541099883,   0.569269258080571,-0.728867944853889,0.380373541099883,   0.569269258080571,-0.728867944853889,0.380373541099883,   0.380373541099883,-0.728867944853889,0.569269258080571,   0.380373541099883,-0.728867944853889,0.569269258080571,   0.380373541099883,-0.728867944853889,0.569269258080571,   0.380373531489959,-0.728867939801861,0.569269270970117,   0.380373531489959,-0.728867939801861,0.569269270970117,   0.380373531489959,-0.728867939801861,0.569269270970117,   0.133569484970946,-0.728867942308,0.671498857303792,   0.133569484970946,-0.728867942308,0.671498857303792,   0.133569484970946,-0.728867942308,0.671498857303792,   0.133569453916961,-0.728867952169112,0.671498852777226,   0.133569453916961,-0.728867952169112,0.671498852777226,   0.133569453916961,-0.728867952169112,0.671498852777226,   -0.133569453916961,-0.728867952169112,0.671498852777226,   -0.133569453916961,-0.728867952169112,0.671498852777226,   -0.133569453916961,-0.728867952169112,0.671498852777226,   -0.133569484970946,-0.728867942308,0.671498857303792,   -0.133569484970946,-0.728867942308,0.671498857303792,   -0.133569484970946,-0.728867942308,0.671498857303792,   -0.380373531489959,-0.728867939801861,0.569269270970117,   -0.380373531489959,-0.728867939801861,0.569269270970117,   -0.380373531489959,-0.728867939801861,0.569269270970117,   -0.380373541099883,-0.728867944853889,0.569269258080571,   -0.380373541099883,-0.728867944853889,0.569269258080571,   -0.380373541099883,-0.728867944853889,0.569269258080571,   -0.569269258080571,-0.728867944853889,0.380373541099883,   -0.569269258080571,-0.728867944853889,0.380373541099883,   -0.569269258080571,-0.728867944853889,0.380373541099883,   -0.569269270970117,-0.728867939801861,0.380373531489959,   -0.569269270970117,-0.728867939801861,0.380373531489959,   -0.569269270970117,-0.728867939801861,0.380373531489959,   -0.671498857303792,-0.728867942308,0.133569484970946,   -0.671498857303792,-0.728867942308,0.133569484970946,   -0.671498857303792,-0.728867942308,0.133569484970946,   -0.671498852777226,-0.728867952169112,0.133569453916961,   -0.671498852777226,-0.728867952169112,0.133569453916961,   -0.671498852777226,-0.728867952169112,0.133569453916961,   -0.671498852777226,-0.728867952169112,-0.133569453916961,   -0.671498852777226,-0.728867952169112,-0.133569453916961,   -0.671498852777226,-0.728867952169112,-0.133569453916961,   -0.671498857303792,-0.728867942308,-0.133569484970946,   -0.671498857303792,-0.728867942308,-0.133569484970946,   -0.671498857303792,-0.728867942308,-0.133569484970946,   -0.569269270970117,-0.728867939801861,-0.380373531489959,   -0.569269270970117,-0.728867939801861,-0.380373531489959,   -0.569269270970117,-0.728867939801861,-0.380373531489959,   -0.569269258080571,-0.728867944853889,-0.380373541099883,   -0.569269258080571,-0.728867944853889,-0.380373541099883,   -0.569269258080571,-0.728867944853889,-0.380373541099883,   -0.380373541099883,-0.728867944853889,-0.569269258080571,   -0.380373541099883,-0.728867944853889,-0.569269258080571,   -0.380373541099883,-0.728867944853889,-0.569269258080571,   -0.380373531489959,-0.728867939801861,-0.569269270970117,   -0.380373531489959,-0.728867939801861,-0.569269270970117,   -0.380373531489959,-0.728867939801861,-0.569269270970117,   -0.133569484970946,-0.728867942308,-0.671498857303792,   -0.133569484970946,-0.728867942308,-0.671498857303792,   -0.133569484970946,-0.728867942308,-0.671498857303792,   -0.133569453916961,-0.728867952169112,-0.671498852777226,   -0.133569453916961,-0.728867952169112,-0.671498852777226,   -0.133569453916961,-0.728867952169112,-0.671498852777226,   0.133569453916961,-0.728867952169112,-0.671498852777226,   0.133569453916961,-0.728867952169112,-0.671498852777226,   0.133569453916961,-0.728867952169112,-0.671498852777226,   0.133569484970946,-0.728867942308,-0.671498857303792,   0.133569484970946,-0.728867942308,-0.671498857303792,   0.133569484970946,-0.728867942308,-0.671498857303792,   0.380373531489959,-0.728867939801861,-0.569269270970117,   0.380373531489959,-0.728867939801861,-0.569269270970117,   0.380373531489959,-0.728867939801861,-0.569269270970117,   0.380373541099883,-0.728867944853889,-0.569269258080571,   0.380373541099883,-0.728867944853889,-0.569269258080571,   0.380373541099883,-0.728867944853889,-0.569269258080571,   0.569269258080571,-0.728867944853889,-0.380373541099883,   0.569269258080571,-0.728867944853889,-0.380373541099883,   0.569269258080571,-0.728867944853889,-0.380373541099883,   0.569269270970117,-0.728867939801861,-0.380373531489959,   0.569269270970117,-0.728867939801861,-0.380373531489959,   0.569269270970117,-0.728867939801861,-0.380373531489959,   0.671498852777226,-0.728867952169112,-0.133569453916961,   0.671498852777226,-0.728867952169112,-0.133569453916961,   0.671498852777226,-0.728867952169112,-0.133569453916961,   0.342894574756044,-0.936894473314623,-0.0682059856272723,   0.342894574756044,-0.936894473314623,-0.0682059856272723,   0.342894574756044,-0.936894473314623,-0.0682059856272723,   0.342894574756044,-0.936894473314623,0.0682059856272723,   0.342894574756044,-0.936894473314623,0.0682059856272723,   0.342894574756044,-0.936894473314623,0.0682059856272723,   0.290691989577293,-0.936894473607523,0.194234169288719,   0.290691989577293,-0.936894473607523,0.194234169288719,   0.290691989577293,-0.936894473607523,0.194234169288719,   0.194234169288719,-0.936894473607523,0.290691989577293,   0.194234169288719,-0.936894473607523,0.290691989577293,   0.194234169288719,-0.936894473607523,0.290691989577293,   0.0682059856272723,-0.936894473314623,0.342894574756044,   0.0682059856272723,-0.936894473314623,0.342894574756044,   0.0682059856272723,-0.936894473314623,0.342894574756044,   -0.0682059856272723,-0.936894473314623,0.342894574756044,   -0.0682059856272723,-0.936894473314623,0.342894574756044,   -0.0682059856272723,-0.936894473314623,0.342894574756044,   -0.194234169288719,-0.936894473607523,0.290691989577293,   -0.194234169288719,-0.936894473607523,0.290691989577293,   -0.194234169288719,-0.936894473607523,0.290691989577293,   -0.290691989577293,-0.936894473607523,0.194234169288719,   -0.290691989577293,-0.936894473607523,0.194234169288719,   -0.290691989577293,-0.936894473607523,0.194234169288719,   -0.342894574756044,-0.936894473314623,0.0682059856272723,   -0.342894574756044,-0.936894473314623,0.0682059856272723,   -0.342894574756044,-0.936894473314623,0.0682059856272723,   -0.342894574756044,-0.936894473314623,-0.0682059856272723,   -0.342894574756044,-0.936894473314623,-0.0682059856272723,   -0.342894574756044,-0.936894473314623,-0.0682059856272723,   -0.290691989577293,-0.936894473607523,-0.194234169288719,   -0.290691989577293,-0.936894473607523,-0.194234169288719,   -0.290691989577293,-0.936894473607523,-0.194234169288719,   -0.194234169288719,-0.936894473607523,-0.290691989577293,   -0.194234169288719,-0.936894473607523,-0.290691989577293,   -0.194234169288719,-0.936894473607523,-0.290691989577293,   -0.0682059856272723,-0.936894473314623,-0.342894574756044,   -0.0682059856272723,-0.936894473314623,-0.342894574756044,   -0.0682059856272723,-0.936894473314623,-0.342894574756044,   0.0682059856272723,-0.936894473314623,-0.342894574756044,   0.0682059856272723,-0.936894473314623,-0.342894574756044,   0.0682059856272723,-0.936894473314623,-0.342894574756044,   0.194234169288719,-0.936894473607523,-0.290691989577293,   0.194234169288719,-0.936894473607523,-0.290691989577293,   0.194234169288719,-0.936894473607523,-0.290691989577293,   0.290691989577293,-0.936894473607523,-0.194234169288719,   0.290691989577293,-0.936894473607523,-0.194234169288719,   0.290691989577293,-0.936894473607523,-0.194234169288719,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 840 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 840 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Shrub'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0074533333,0.00676,   0.15082163,0.00676,   0.0074533333,0.02109683,   0.0074533333,0.02109683,   0.15082163,0.00676,   0.15082163,0.02109683,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Shrub'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0074533333,0.00676,   0.15082163,0.00676,   0.0074533333,0.02109683,   0.15082163,0.00676,   0.15082163,0.02109683,   0.0074533333,0.02109683,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Shrub'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.15,-0.4,0.125,   -0.5,-0.4,0.16666667,   -0.5,-0.4,0.5,   0,-0.4,0.16666667,   -0.15,-0.4,0.125,   0.5,-0.4,0.5,   0.15,-0.4,0.125,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   0.15,-0.4,-0.125,   0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   0,-0.4,-0.16666667,   0.15,-0.4,-0.125,   0.5,-0.4,-0.5,   0.15,-0.4,-0.125,   0.5,-0.4,-0.16666667,   -0.5,-0.4,-0.16666667,   -0.15,-0.4,-0.125,   -0.5,-0.4,-0.5,   -0.5,-0.4,-0.16666667,   -0.2,-0.4,0,   -0.15,-0.4,-0.125,   0.5,-0.4,0.16666667,   0.15,-0.4,0.125,   0.5,-0.4,0.5,   0.5,-0.4,0.16666667,   0.2,-0.4,0,   0.15,-0.4,0.125,   -0.15,-0.4,-0.125,   0,-0.4,-0.16666667,   -0.5,-0.4,-0.5,   0.15,-0.4,-0.125,   0.2,-0.4,0,   0.5,-0.4,0.16666667,   0.15,-0.4,0.125,   0,-0.4,0.16666667,   -0.5,-0.4,0.5,   -0.15,-0.4,0.125,   -0.2,-0.4,0,   -0.5,-0.4,-0.16666667,   -0.5,-0.4,0.16666667,   -0.15,-0.4,0.125,   -0.5,-0.4,-0.16666667,   0.5,-0.4,-0.16666667,   0.15,-0.4,-0.125,   0.5,-0.4,0.16666667,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0087933422,0.0081000089,   0.058034241,0.060858114,   0.0087933422,0.054996102,   0.0087933422,0.0081000089,   0.079137483,0.054996102,   0.058034241,0.060858114,   0.14948162,0.0081000089,   0.10024073,0.060858114,   0.0087933422,0.0081000089,   0.0087933422,0.14878829,   0.10024073,0.096030186,   0.14948162,0.14878829,   0.0087933422,0.14878829,   0.079137483,0.1018922,   0.10024073,0.096030186,   0.14948162,0.14878829,   0.10024073,0.096030186,   0.14948162,0.1018922,   0.0087933422,0.1018922,   0.058034241,0.096030186,   0.0087933422,0.14878829,   0.0087933422,0.1018922,   0.050999827,0.07844415,   0.058034241,0.096030186,   0.14948162,0.054996102,   0.10024073,0.060858114,   0.14948162,0.0081000089,   0.14948162,0.054996102,   0.10727514,0.07844415,   0.10024073,0.060858114,   0.058034241,0.096030186,   0.079137483,0.1018922,   0.0087933422,0.14878829,   0.10024073,0.096030186,   0.10727514,0.07844415,   0.14948162,0.054996102,   0.10024073,0.060858114,   0.079137483,0.054996102,   0.0087933422,0.0081000089,   0.058034241,0.060858114,   0.050999827,0.07844415,   0.0087933422,0.1018922,   0.0087933422,0.054996102,   0.058034241,0.060858114,   0.0087933422,0.1018922,   0.14948162,0.1018922,   0.10024073,0.096030186,   0.14948162,0.054996102,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 48 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 48 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Shrub'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.16666667,   -0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,-0.16666667,   -0.5,-0.4,-0.5,   -0.5,-0.4,0.16666667,   -0.5,-0.4,-0.16666667,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.15082163,0.02109683,   0.0074533333,0.00676,   0.15082163,0.00676,   0.15082163,0.02109683,   0.1030322,0.02109683,   0.0074533333,0.00676,   0.0074533333,0.00676,   0.055242766,0.02109683,   0.0074533333,0.02109683,   0.1030322,0.02109683,   0.055242766,0.02109683,   0.0074533333,0.00676,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Shrub'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.16666667,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,-0.16666667,   0.5,-0.4,0.16666667,   0.5,-0.4,-0.5,   0.5,-0.4,-0.16666667,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0074533333,0.00676,   0.15082163,0.00676,   0.15082163,0.02109683,   0.0074533333,0.00676,   0.055242766,0.02109683,   0.0074533333,0.02109683,   0.0074533333,0.00676,   0.1030322,0.02109683,   0.055242766,0.02109683,   0.15082163,0.02109683,   0.1030322,0.02109683,   0.0074533333,0.00676,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Shrub'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0074533333,0.1501283,   0.0074533333,0.00676,   0.15082163,0.1501283,   0.0074533333,0.00676,   0.15082163,0.00676,   0.15082163,0.1501283,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Shrub'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.15,-0.4,-0.125,   -0.16666667,-0.31045938,-0.13888889,   0,-0.4,-0.16666667,   0.15,-0.4,-0.125,   0.2,-0.29255125,0,   0.2,-0.4,0,   0.15,-0.4,-0.125,   0,-0.29255125,-0.16666667,   0.16666667,-0.27464312,-0.13888889,   0.15,-0.4,0.125,   0.16666667,-0.31045938,0.13888889,   0,-0.4,0.16666667,   -0.15,-0.4,0.125,   -0.2,-0.29255125,0,   -0.2,-0.4,0,   -0.15,-0.4,0.125,   0,-0.29255125,0.16666667,   -0.16666667,-0.27464312,0.13888889,   0.12592593,-0.22489833,-0.10493827,   0.16666667,-0.20301063,-0.027777778,   0.16666667,-0.27464312,-0.13888889,   -0.14444444,-0.21494938,-0.12037037,   -0.2,-0.29255125,0,   -0.16666667,-0.20301063,0.027777778,   -0.14444444,-0.21494938,-0.12037037,   0,-0.1851025,0,   0.033333333,-0.20301063,-0.13888889,   -0.14444444,-0.21494938,-0.12037037,   0,-0.29255125,-0.16666667,   -0.16666667,-0.31045938,-0.13888889,   -0.13198661,-0.22279905,0.11324471,   -0.16666667,-0.20301063,0.027777778,   -0.16666667,-0.27464312,0.13888889,   -0.13198661,-0.22279905,0.11324471,   -0.033333333,-0.20301063,0.13888889,   -0.16666667,-0.20301063,0.027777778,   0.1385538,-0.22149053,0.10697841,   0,-0.1851025,0,   -0.033333333,-0.20301063,0.13888889,   0.1385538,-0.22149053,0.10697841,   0.2,-0.29255125,0,   0.16666667,-0.20301063,-0.027777778,   0.1385538,-0.22149053,0.10697841,   0,-0.29255125,0.16666667,   0.16666667,-0.31045938,0.13888889,   0,-0.4,-0.16666667,   0,-0.29255125,-0.16666667,   0.15,-0.4,-0.125,   0,-0.4,-0.16666667,   -0.070299633,-0.32992088,-0.16863007,   0,-0.29255125,-0.16666667,   -0.2,-0.4,0,   -0.16666667,-0.31045938,-0.13888889,   -0.15,-0.4,-0.125,   -0.2,-0.4,0,   -0.21658449,-0.33623468,-0.048586208,   -0.16666667,-0.31045938,-0.13888889,   -0.16666667,-0.31045938,-0.13888889,   -0.2,-0.29255125,0,   -0.14444444,-0.21494938,-0.12037037,   -0.16666667,-0.31045938,-0.13888889,   -0.21658449,-0.33623468,-0.048586208,   -0.2,-0.29255125,0,   -0.16666667,-0.31045938,-0.13888889,   -0.070299633,-0.32992088,-0.16863007,   0,-0.4,-0.16666667,   0.2,-0.4,0,   0.16666667,-0.31045938,0.13888889,   0.15,-0.4,0.125,   0.2,-0.4,0,   0.19589505,-0.35553018,0.036083587,   0.16666667,-0.31045938,0.13888889,   0.16666667,-0.27464312,-0.13888889,   0.033333333,-0.20301063,-0.13888889,   0.12592593,-0.22489833,-0.10493827,   0.16666667,-0.27464312,-0.13888889,   0.2,-0.29255125,0,   0.15,-0.4,-0.125,   0.16666667,-0.27464312,-0.13888889,   0.066666667,-0.256735,-0.16666667,   0.033333333,-0.20301063,-0.13888889,   0.16666667,-0.27464312,-0.13888889,   0.2,-0.256735,-0.055555557,   0.2,-0.29255125,0,   0,-0.4,0.16666667,   0,-0.29255125,0.16666667,   -0.15,-0.4,0.125,   0,-0.4,0.16666667,   0.072736765,-0.3378687,0.15456759,   0,-0.29255125,0.16666667,   0.16666667,-0.31045938,0.13888889,   0.2,-0.29255125,0,   0.1385538,-0.22149053,0.10697841,   0.16666667,-0.31045938,0.13888889,   0.19589505,-0.35553018,0.036083587,   0.2,-0.29255125,0,   0.16666667,-0.31045938,0.13888889,   0.072736765,-0.3378687,0.15456759,   0,-0.4,0.16666667,   -0.16666667,-0.27464312,0.13888889,   -0.033333333,-0.20301063,0.13888889,   -0.13198661,-0.22279905,0.11324471,   -0.16666667,-0.27464312,0.13888889,   -0.2,-0.29255125,0,   -0.15,-0.4,0.125,   -0.16666667,-0.27464312,0.13888889,   -0.066666667,-0.256735,0.16666667,   -0.033333333,-0.20301063,0.13888889,   -0.16666667,-0.27464312,0.13888889,   -0.2,-0.256735,0.055555557,   -0.2,-0.29255125,0,   0.033333333,-0.20301063,-0.13888889,   0.16666667,-0.20301063,-0.027777778,   0.12592593,-0.22489833,-0.10493827,   0.033333333,-0.20301063,-0.13888889,   0,-0.29255125,-0.16666667,   -0.14444444,-0.21494938,-0.12037037,   0.033333333,-0.20301063,-0.13888889,   0.066666667,-0.256735,-0.16666667,   0,-0.29255125,-0.16666667,   0.033333333,-0.20301063,-0.13888889,   0.066666667,-0.1851025,-0.055555557,   0.16666667,-0.20301063,-0.027777778,   0.16666667,-0.20301063,-0.027777778,   0,-0.1851025,0,   0.1385538,-0.22149053,0.10697841,   0.16666667,-0.20301063,-0.027777778,   0.2,-0.256735,-0.055555557,   0.16666667,-0.27464312,-0.13888889,   0.16666667,-0.20301063,-0.027777778,   0.066666667,-0.1851025,-0.055555557,   0,-0.1851025,0,   -0.16666667,-0.20301063,0.027777778,   0,-0.1851025,0,   -0.14444444,-0.21494938,-0.12037037,   -0.16666667,-0.20301063,0.027777778,   -0.2,-0.256735,0.055555557,   -0.16666667,-0.27464312,0.13888889,   -0.16666667,-0.20301063,0.027777778,   -0.066666667,-0.1851025,0.055555557,   0,-0.1851025,0,   -0.033333333,-0.20301063,0.13888889,   0,-0.29255125,0.16666667,   0.1385538,-0.22149053,0.10697841,   -0.033333333,-0.20301063,0.13888889,   -0.066666667,-0.256735,0.16666667,   0,-0.29255125,0.16666667,   -0.033333333,-0.20301063,0.13888889,   -0.066666667,-0.1851025,0.055555557,   -0.16666667,-0.20301063,0.027777778,   -0.2,-0.29255125,0,   -0.2,-0.256735,0.055555557,   -0.16666667,-0.20301063,0.027777778,   -0.2,-0.29255125,0,   -0.21658449,-0.33623468,-0.048586208,   -0.2,-0.4,0,   0,-0.1851025,0,   -0.066666667,-0.1851025,0.055555557,   -0.033333333,-0.20301063,0.13888889,   0,-0.1851025,0,   0.066666667,-0.1851025,-0.055555557,   0.033333333,-0.20301063,-0.13888889,   0.2,-0.29255125,0,   0.2,-0.256735,-0.055555557,   0.16666667,-0.20301063,-0.027777778,   0.2,-0.29255125,0,   0.19589505,-0.35553018,0.036083587,   0.2,-0.4,0,   0,-0.29255125,-0.16666667,   0.066666667,-0.256735,-0.16666667,   0.16666667,-0.27464312,-0.13888889,   0,-0.29255125,-0.16666667,   -0.070299633,-0.32992088,-0.16863007,   -0.16666667,-0.31045938,-0.13888889,   0,-0.29255125,0.16666667,   -0.066666667,-0.256735,0.16666667,   -0.16666667,-0.27464312,0.13888889,   0,-0.29255125,0.16666667,   0.072736765,-0.3378687,0.15456759,   0.16666667,-0.31045938,0.13888889,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.30034109,0.96363191,   0.30242002,0.83510814,   0.51506351,0.99605022,   0.92015794,0.75673844,   0.75629284,0.59546408,   0.89403246,0.56010743,   0.73908489,0.97334538,   0.51820943,0.85688082,   0.73594437,0.78949876,   0.69891764,0.28441387,   0.69863663,0.41370795,   0.48240691,0.25464786,   0.078853106,0.49570944,   0.24357991,0.65608459,   0.10672194,0.69221941,   0.25931383,0.27826082,   0.47980427,0.39429239,   0.26308277,0.46134073,   0.65289765,0.73029341,   0.66523661,0.64040398,   0.73594437,0.78949876,   0.37228833,0.74994668,   0.24357991,0.65608459,   0.33448922,0.61074027,   0.37228833,0.74994668,   0.49955821,0.62471065,   0.54819781,0.75627186,   0.37228833,0.74994668,   0.51820943,0.85688082,   0.30242002,0.83510814,   0.33934164,0.51446499,   0.33448922,0.61074027,   0.26308277,0.46134073,   0.33934164,0.51446499,   0.44879384,0.49425597,   0.33448922,0.61074027,   0.62786707,0.50660024,   0.49955821,0.62471065,   0.44879384,0.49425597,   0.62786707,0.50660024,   0.75629284,0.59546408,   0.66523661,0.64040398,   0.62786707,0.50660024,   0.47980427,0.39429239,   0.69863663,0.41370795,   0.51506351,0.99605022,   0.51820943,0.85688082,   0.73908489,0.97334538,   0.51506351,0.99605022,   0.4338309,0.88613372,   0.51820943,0.85688082,   0.10672194,0.69221941,   0.30242002,0.83510814,   0.17554203,0.8731049,   0.10672194,0.69221941,   0.22833401,0.73306801,   0.30242002,0.83510814,   0.30242002,0.83510814,   0.24357991,0.65608459,   0.37228833,0.74994668,   0.30242002,0.83510814,   0.22833401,0.73306801,   0.24357991,0.65608459,   0.30242002,0.83510814,   0.4338309,0.88613372,   0.51506351,0.99605022,   0.89403246,0.56010743,   0.69863663,0.41370795,   0.8269528,0.37703254,   0.89403246,0.56010743,   0.77220061,0.51768602,   0.69863663,0.41370795,   0.73594437,0.78949876,   0.54819781,0.75627186,   0.65289765,0.73029341,   0.73594437,0.78949876,   0.75629284,0.59546408,   0.92015794,0.75673844,   0.73594437,0.78949876,   0.5974624,0.80472281,   0.54819781,0.75627186,   0.73594437,0.78949876,   0.72339625,0.66881691,   0.75629284,0.59546408,   0.48240691,0.25464786,   0.47980427,0.39429239,   0.25931383,0.27826082,   0.48240691,0.25464786,   0.565208,0.36406494,   0.47980427,0.39429239,   0.69863663,0.41370795,   0.75629284,0.59546408,   0.62786707,0.50660024,   0.69863663,0.41370795,   0.77220061,0.51768602,   0.75629284,0.59546408,   0.69863663,0.41370795,   0.565208,0.36406494,   0.48240691,0.25464786,   0.26308277,0.46134073,   0.44879384,0.49425597,   0.33934164,0.51446499,   0.26308277,0.46134073,   0.24357991,0.65608459,   0.078853106,0.49570944,   0.26308277,0.46134073,   0.40055082,0.44616798,   0.44879384,0.49425597,   0.26308277,0.46134073,   0.27613587,0.58236756,   0.24357991,0.65608459,   0.54819781,0.75627186,   0.66523661,0.64040398,   0.65289765,0.73029341,   0.54819781,0.75627186,   0.51820943,0.85688082,   0.37228833,0.74994668,   0.54819781,0.75627186,   0.5974624,0.80472281,   0.51820943,0.85688082,   0.54819781,0.75627186,   0.56970699,0.67271676,   0.66523661,0.64040398,   0.66523661,0.64040398,   0.49955821,0.62471065,   0.62786707,0.50660024,   0.66523661,0.64040398,   0.72339625,0.66881691,   0.73594437,0.78949876,   0.66523661,0.64040398,   0.56970699,0.67271676,   0.49955821,0.62471065,   0.33448922,0.61074027,   0.49955821,0.62471065,   0.37228833,0.74994668,   0.33448922,0.61074027,   0.27613587,0.58236756,   0.26308277,0.46134073,   0.33448922,0.61074027,   0.42886541,0.57761023,   0.49955821,0.62471065,   0.44879384,0.49425597,   0.47980427,0.39429239,   0.62786707,0.50660024,   0.44879384,0.49425597,   0.40055082,0.44616798,   0.47980427,0.39429239,   0.44879384,0.49425597,   0.42886541,0.57761023,   0.33448922,0.61074027,   0.24357991,0.65608459,   0.27613587,0.58236756,   0.33448922,0.61074027,   0.24357991,0.65608459,   0.22833401,0.73306801,   0.10672194,0.69221941,   0.49955821,0.62471065,   0.42886541,0.57761023,   0.44879384,0.49425597,   0.49955821,0.62471065,   0.56970699,0.67271676,   0.54819781,0.75627186,   0.75629284,0.59546408,   0.72339625,0.66881691,   0.66523661,0.64040398,   0.75629284,0.59546408,   0.77220061,0.51768602,   0.89403246,0.56010743,   0.51820943,0.85688082,   0.5974624,0.80472281,   0.73594437,0.78949876,   0.51820943,0.85688082,   0.4338309,0.88613372,   0.30242002,0.83510814,   0.47980427,0.39429239,   0.40055082,0.44616798,   0.26308277,0.46134073,   0.47980427,0.39429239,   0.565208,0.36406494,   0.69863663,0.41370795,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.262483110323801,-0.195429458680657,-0.944939121570553,   -0.262483110323801,-0.195429458680657,-0.944939121570553,   -0.262483110323801,-0.195429458680657,-0.944939121570553,   0.928476690885259,0,-0.371390676354104,   0.928476690885259,0,-0.371390676354104,   0.928476690885259,0,-0.371390676354104,   0.176708409866431,-0.131566655794025,-0.975430342446683,   0.176708409866431,-0.131566655794025,-0.975430342446683,   0.176708409866431,-0.131566655794025,-0.975430342446683,   0.262483110323801,-0.195429458680657,0.944939121570553,   0.262483110323801,-0.195429458680657,0.944939121570553,   0.262483110323801,-0.195429458680657,0.944939121570553,   -0.928476690885259,0,0.371390676354104,   -0.928476690885259,0,0.371390676354104,   -0.928476690885259,0,0.371390676354104,   -0.176708409866431,-0.131566655794025,0.975430342446683,   -0.176708409866431,-0.131566655794025,0.975430342446683,   -0.176708409866431,-0.131566655794025,0.975430342446683,   0.49826779781017,0.728712288158119,-0.46979527749091,   0.49826779781017,0.728712288158119,-0.46979527749091,   0.49826779781017,0.728712288158119,-0.46979527749091,   -0.905881109439556,0.389114789276421,-0.16723963742763,   -0.905881109439556,0.389114789276421,-0.16723963742763,   -0.905881109439556,0.389114789276421,-0.16723963742763,   -0.0814812404319663,0.985824435120814,-0.146666255752292,   -0.0814812404319663,0.985824435120814,-0.146666255752292,   -0.0814812404319663,0.985824435120814,-0.146666255752292,   -0.183866307077926,0.228160017576006,-0.956104694843218,   -0.183866307077926,0.228160017576006,-0.956104694843218,   -0.183866307077926,0.228160017576006,-0.956104694843218,   -0.650193491769631,0.638567424755678,0.411679568719795,   -0.650193491769631,0.638567424755678,0.411679568719795,   -0.650193491769631,0.638567424755678,0.411679568719795,   -0.26530731240058,0.91008425390991,0.318368781088887,   -0.26530731240058,0.91008425390991,0.318368781088887,   -0.26530731240058,0.91008425390991,0.318368781088887,   0.134573882740895,0.978157951754866,0.158419984543509,   0.134573882740895,0.978157951754866,0.158419984543509,   0.134573882740895,0.978157951754866,0.158419984543509,   0.883241313849124,0.403117265026277,0.239543841807314,   0.883241313849124,0.403117265026277,0.239543841807314,   0.883241313849124,0.403117265026277,0.239543841807314,   0.191809730289227,0.384482954930314,0.902984985885384,   0.191809730289227,0.384482954930314,0.902984985885384,   0.191809730289227,0.384482954930314,0.902984985885384,   0.267643883663828,0,-0.963517904108348,   0.267643883663828,0,-0.963517904108348,   0.267643883663828,0,-0.963517904108348,   0.0279181356746902,0,-0.999610212883226,   0.0279181356746902,0,-0.999610212883226,   0.0279181356746902,0,-0.999610212883226,   -0.90476677156459,-0.224545370302313,-0.361906708625836,   -0.90476677156459,-0.224545370302313,-0.361906708625836,   -0.90476677156459,-0.224545370302313,-0.361906708625836,   -0.645488440644096,-0.561982845713747,-0.517223311654001,   -0.645488440644096,-0.561982845713747,-0.517223311654001,   -0.645488440644096,-0.561982845713747,-0.517223311654001,   -0.929001569771096,0.266030755559964,-0.257261968543805,   -0.929001569771096,0.266030755559964,-0.257261968543805,   -0.929001569771096,0.266030755559964,-0.257261968543805,   -0.770697745511202,0.58175297233223,-0.259977814912286,   -0.770697745511202,0.58175297233223,-0.259977814912286,   -0.770697745511202,0.58175297233223,-0.259977814912286,   -0.341163391279438,-0.366488825782845,-0.865617398754799,   -0.341163391279438,-0.366488825782845,-0.865617398754799,   -0.341163391279438,-0.366488825782845,-0.865617398754799,   0.90476677156459,-0.224545370302313,0.361906708625836,   0.90476677156459,-0.224545370302313,0.361906708625836,   0.90476677156459,-0.224545370302313,0.361906708625836,   0.916937623996139,-0.196951524780328,0.347038168775452,   0.916937623996139,-0.196951524780328,0.347038168775452,   0.916937623996139,-0.196951524780328,0.347038168775452,   0.383561553011393,0.71394337692172,-0.585803200401892,   0.383561553011393,0.71394337692172,-0.585803200401892,   0.383561553011393,0.71394337692172,-0.585803200401892,   0.955964174052732,-0.154729263967988,-0.24938194160685,   0.955964174052732,-0.154729263967988,-0.24938194160685,   0.955964174052732,-0.154729263967988,-0.24938194160685,   0.312734722361293,0.582109656221635,-0.750563349467008,   0.312734722361293,0.582109656221635,-0.750563349467008,   0.312734722361293,0.582109656221635,-0.750563349467008,   0.874860316751887,-0.407105857451153,-0.262458086180917,   0.874860316751887,-0.407105857451153,-0.262458086180917,   0.874860316751887,-0.407105857451153,-0.262458086180917,   -0.267643883663828,0,0.963517904108348,   -0.267643883663828,0,0.963517904108348,   -0.267643883663828,0,0.963517904108348,   0.164086062874053,0,0.986446026891736,   0.164086062874053,0,0.986446026891736,   0.164086062874053,0,0.986446026891736,   0.88933350553576,0.374909325403606,0.261780277440625,   0.88933350553576,0.374909325403606,0.261780277440625,   0.88933350553576,0.374909325403606,0.261780277440625,   0.967354177437774,0.0755473896227836,0.241905947249901,   0.967354177437774,0.0755473896227836,0.241905947249901,   0.967354177437774,0.0755473896227836,0.241905947249901,   0.16492923477811,-0.00101458255300336,0.986304880925645,   0.16492923477811,-0.00101458255300336,0.986304880925645,   0.16492923477811,-0.00101458255300336,0.986304880925645,   -0.311951558006999,0.580651911045146,0.752017010217605,   -0.311951558006999,0.580651911045146,0.752017010217605,   -0.311951558006999,0.580651911045146,0.752017010217605,   -0.955964174052732,-0.154729263967988,0.24938194160685,   -0.955964174052732,-0.154729263967988,0.24938194160685,   -0.955964174052732,-0.154729263967988,0.24938194160685,   -0.312734722361293,0.582109656221635,0.750563349467008,   -0.312734722361293,0.582109656221635,0.750563349467008,   -0.312734722361293,0.582109656221635,0.750563349467008,   -0.874860316751887,-0.407105857451153,0.262458086180917,   -0.874860316751887,-0.407105857451153,0.262458086180917,   -0.874860316751887,-0.407105857451153,0.262458086180917,   0.352406905887475,0.834850203552426,-0.422888295311291,   0.352406905887475,0.834850203552426,-0.422888295311291,   0.352406905887475,0.834850203552426,-0.422888295311291,   -0.119835344791728,0.334583736075777,-0.934715579035795,   -0.119835344791728,0.334583736075777,-0.934715579035795,   -0.119835344791728,0.334583736075777,-0.934715579035795,   -0.190676478527532,0.354916142776746,-0.915246967835904,   -0.190676478527532,0.354916142776746,-0.915246967835904,   -0.190676478527532,0.354916142776746,-0.915246967835904,   0.247699907715026,0.922113442319399,-0.297239895054209,   0.247699907715026,0.922113442319399,-0.297239895054209,   0.247699907715026,0.922113442319399,-0.297239895054209,   0.132025358739482,0.977975356175003,0.16165861364025,   0.132025358739482,0.977975356175003,0.16165861364025,   0.132025358739482,0.977975356175003,0.16165861364025,   0.670227113438415,0.623764450737793,-0.402136203801385,   0.670227113438415,0.623764450737793,-0.402136203801385,   0.670227113438415,0.623764450737793,-0.402136203801385,   0.131449175213788,0.9786927607906,0.157739006944027,   0.131449175213788,0.9786927607906,0.157739006944027,   0.131449175213788,0.9786927607906,0.157739006944027,   -0.122445642125336,0.987629276894256,-0.0979565012944218,   -0.122445642125336,0.987629276894256,-0.0979565012944218,   -0.122445642125336,0.987629276894256,-0.0979565012944218,   -0.670227113438415,0.623764450737793,0.402136203801385,   -0.670227113438415,0.623764450737793,0.402136203801385,   -0.670227113438415,0.623764450737793,0.402136203801385,   -0.131449175213788,0.9786927607906,-0.157739006944027,   -0.131449175213788,0.9786927607906,-0.157739006944027,   -0.131449175213788,0.9786927607906,-0.157739006944027,   0.207547541120402,0.35949825569901,0.909771961715816,   0.207547541120402,0.35949825569901,0.909771961715816,   0.207547541120402,0.35949825569901,0.909771961715816,   0.190676478527532,0.354916142776746,0.915246967835904,   0.190676478527532,0.354916142776746,0.915246967835904,   0.190676478527532,0.354916142776746,0.915246967835904,   -0.247699907715026,0.922113442319399,0.297239895054209,   -0.247699907715026,0.922113442319399,0.297239895054209,   -0.247699907715026,0.922113442319399,0.297239895054209,   -0.874860322293886,0.407105849038198,-0.262458080757148,   -0.874860322293886,0.407105849038198,-0.262458080757148,   -0.874860322293886,0.407105849038198,-0.262458080757148,   -0.946385128651128,0,0.323040536570858,   -0.946385128651128,0,0.323040536570858,   -0.946385128651128,0,0.323040536570858,   0.131449180501891,0.97869275905759,0.15773901328975,   0.131449180501891,0.97869275905759,0.15773901328975,   0.131449180501891,0.97869275905759,0.15773901328975,   -0.131449180501891,0.97869275905759,-0.15773901328975,   -0.131449180501891,0.97869275905759,-0.15773901328975,   -0.131449180501891,0.97869275905759,-0.15773901328975,   0.874860322293886,0.407105849038198,0.262458080757148,   0.874860322293886,0.407105849038198,0.262458080757148,   0.874860322293886,0.407105849038198,0.262458080757148,   0.99359121487026,0,0.11303317093951,   0.99359121487026,0,0.11303317093951,   0.99359121487026,0,0.11303317093951,   0.190676476131653,-0.35491613831717,-0.915246970064388,   0.190676476131653,-0.35491613831717,-0.915246970064388,   0.190676476131653,-0.35491613831717,-0.915246970064388,   -0.192615368979999,0.409206782478953,-0.891879548372942,   -0.192615368979999,0.409206782478953,-0.891879548372942,   -0.192615368979999,0.409206782478953,-0.891879548372942,   -0.190676476131653,-0.35491613831717,0.915246970064388,   -0.190676476131653,-0.35491613831717,0.915246970064388,   -0.190676476131653,-0.35491613831717,0.915246970064388,   0.164464174658085,0.000623752907321765,0.986382859840106,   0.164464174658085,0.000623752907321765,0.986382859840106,   0.164464174658085,0.000623752907321765,0.986382859840106,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 180 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 180 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Stair_Down'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.5,-0.5,0.5,   0.33333353,-0.4,-0.40000013,   -0.33333313,-0.5,-0.40000013,   0.33333353,-0.5,-0.40000013,   -0.33333313,-0.5,-0.40000013,   0.33333353,-0.4,-0.40000013,   -0.33333313,-0.4,-0.40000013,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869754,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.5493913,   0.99391302,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.4506087,   0.66463767,0.5493913,   0.33536278,-0.32423681,   0.66463767,0.4506087,   0.33536278,-0.32423681,   0.66463767,0.5493913,   0.10486952,0.055478278,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Down'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.4,-0.5,   -0.33333353,-0.4,0.40000001,   0.33333313,-0.5,0.40000001,   -0.33333353,-0.5,0.40000001,   0.33333313,-0.5,0.40000001,   -0.33333353,-0.4,0.40000001,   0.33333313,-0.4,0.40000001,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391302,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.4506087,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.5493913,   0.66463767,0.5493913,   0.33536278,-0.32423669,   0.66463767,0.4506087,   0.33536278,-0.32423669,   0.66463767,0.5493913,   0.10486967,0.055478278,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Down'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.33333313,-0.4,-0.40000013,   -0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.33333313,-0.4,0.40000001,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   0.33333353,-0.4,-0.40000013,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   0.33333353,-0.4,-0.40000013,   0.5,-0.4,0.5,   -0.33333353,-0.4,0.40000001,   -0.5,-0.4,0.5,   0.33333313,-0.4,0.40000001,   0.33333313,-0.4,0.40000001,   0.5,-0.4,0.5,   0.33333353,-0.4,-0.40000013,   -0.33333313,-0.4,-0.40000013,   0.33333353,-0.4,-0.40000013,   -0.5,-0.4,-0.5,   -0.33333313,-0.4,-0.40000013,   -0.5,-0.4,0.5,   -0.33333353,-0.4,0.40000001,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869711,0.0060870017,   0.1707249,0.89513044,   0.0060869711,0.99391284,   0.9939131,0.0060868782,   0.82927527,0.10486951,   0.0060869711,0.0060870017,   0.0060869711,0.99391284,   0.82927541,0.89513059,   0.99391294,0.99391313,   0.99391294,0.99391313,   0.82927541,0.89513059,   0.9939131,0.0060868782,   0.17072438,0.10486955,   0.0060869711,0.0060870017,   0.82927527,0.10486951,   0.82927527,0.10486951,   0.9939131,0.0060868782,   0.82927541,0.89513059,   0.1707249,0.89513044,   0.82927541,0.89513059,   0.0060869711,0.99391284,   0.1707249,0.89513044,   0.0060869711,0.0060870017,   0.17072438,0.10486955,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 24 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 24 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Down'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391302,0.4506087,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.5493913,   0.99391302,0.4506087,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Down'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.4,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869754,0.5493913,   0.99391302,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.4506087,   0.0060869754,0.5493913,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Down'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.33333313,-0.5,-0.40000013,   -0.33333353,-0.5,0.40000001,   -0.5,-0.5,0.5,   0.33333313,-0.5,0.40000001,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.33333313,-0.5,0.40000001,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   0.33333353,-0.5,-0.40000013,   -0.33333313,-0.5,-0.40000013,   -0.5,-0.5,-0.5,   -0.33333313,-0.5,-0.40000013,   -0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.33333353,-0.5,-0.40000013,   -0.5,-0.5,-0.5,   -0.33333353,-0.5,0.40000001,   0.33333313,-0.5,0.40000001,   -0.5,-0.5,0.5,   0.33333353,-0.5,-0.40000013,   0.5,-0.5,-0.5,   0.33333313,-0.5,0.40000001,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391299,0.0060869244,   0.82927518,0.89513034,   0.82927556,0.1048695,   0.99391299,0.0060869244,   0.1707247,0.10486951,   0.0060868111,0.0060869244,   0.0060868111,0.0060869244,   0.1707247,0.10486951,   0.0060871581,0.99391319,   0.99391308,0.99391275,   0.17072464,0.89513063,   0.82927518,0.89513034,   0.99391308,0.99391275,   0.82927518,0.89513034,   0.99391299,0.0060869244,   0.0060871581,0.99391319,   0.17072464,0.89513063,   0.99391308,0.99391275,   0.82927556,0.1048695,   0.1707247,0.10486951,   0.99391299,0.0060869244,   0.17072464,0.89513063,   0.0060871581,0.99391319,   0.1707247,0.10486951,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 24 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 24 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Down'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.33333353,-0.4,0.40000001,   -0.33333313,-0.5,-0.40000013,   -0.33333313,-0.4,-0.40000013,   -0.33333313,-0.5,-0.40000013,   -0.33333353,-0.4,0.40000001,   -0.33333353,-0.5,0.40000001,   0.33333353,-0.4,-0.40000013,   0.33333313,-0.5,0.40000001,   0.33333313,-0.4,0.40000001,   0.33333313,-0.5,0.40000001,   0.33333353,-0.4,-0.40000013,   0.33333353,-0.5,-0.40000013,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.10486951,0.5493913,   0.89513049,0.4506087,   0.89513049,0.5493913,   0.89513049,0.4506087,   0.10486951,0.5493913,   0.10486951,0.4506087,   0.10486951,0.5493913,   0.89513049,0.4506087,   0.89513049,0.5493913,   0.89513049,0.4506087,   0.10486951,0.5493913,   0.10486951,0.4506087,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 12 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 12 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Stair_Up'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   -0.33333353,-0.4,0.40000001,   -0.33333353,-0.5,0.40000001,   0.33333313,-0.4,0.40000001,   0.33333353,-0.4,-0.40000013,   2e-007,-0.4,-0.40000013,   0.33333353,-0.5,-0.40000013,   -0.33333353,-0.5,0.40000001,   0.33333313,-0.5,0.40000001,   0.33333313,-0.4,0.40000001,   2e-007,-0.4,-0.40000013,   2e-007,-0.5,-0.40000013,   0.33333353,-0.5,-0.40000013,   -5.3333333e-007,0.6,0.39999998,   -0.33333387,0.6,0.39999998,   -5.3333333e-007,0.5,0.39999998,   -0.33333387,0.6,0.39999998,   -0.33333387,0.5,0.39999998,   -5.3333333e-007,0.5,0.39999998,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869754,0.4506087,   0.99391302,0.4506087,   0.0060869754,0.5493913,   0.0060869754,0.5493913,   0.99391302,0.4506087,   0.99391302,0.5493913,   0.66463767,0.5493913,   0.66463767,0.4506087,   0.10486967,0.055478278,   0.66463767,0.5493913,   0.33536233,0.5493913,   0.66463767,0.4506087,   0.66463767,0.4506087,   0.10486967,-0.043304327,   0.10486967,0.055478278,   0.33536233,0.5493913,   0.33536233,0.4506087,   0.66463767,0.4506087,   0.6646374,1.03958045,   0.33536205,1.03958045,   0.6646374,0.94079785,   0.33536205,1.03958045,   0.33536205,0.94079785,   0.6646374,0.94079785,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 24 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 24 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Up'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.33333353,-0.4,0.40000001,   -2e-007,-0.4,0.40000001,   -0.33333353,-0.5,0.40000001,   0.33333353,-0.4,-0.40000013,   -0.33333313,-0.5,-0.40000013,   -0.33333313,-0.4,-0.40000013,   0.33333353,-0.5,-0.40000013,   -0.33333313,-0.5,-0.40000013,   0.33333353,-0.4,-0.40000013,   -2e-007,-0.4,0.40000001,   -2e-007,-0.5,0.40000001,   -0.33333353,-0.5,0.40000001,   0.33333387,0.6,-0.3999998,   5.3333333e-007,0.5,-0.3999998,   5.3333333e-007,0.6,-0.3999998,   0.33333387,0.5,-0.3999998,   5.3333333e-007,0.5,-0.3999998,   0.33333387,0.6,-0.3999998,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391302,0.5493913,   0.0060869754,0.5493913,   0.99391302,0.4506087,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.4506087,   0.66463767,0.5493913,   0.33536233,0.5493913,   0.66463767,0.4506087,   0.66463767,0.5493913,   0.10486952,-0.043304327,   0.10486952,0.055478278,   0.66463767,0.4506087,   0.10486952,-0.043304327,   0.66463767,0.5493913,   0.33536233,0.5493913,   0.33536233,0.4506087,   0.66463767,0.4506087,   0.33536205,1.03958038,   0.6646374,0.94079778,   0.6646374,1.03958038,   0.33536205,0.94079778,   0.6646374,0.94079778,   0.33536205,1.03958038,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 24 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 24 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Up'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.33333313,-0.4,-0.40000013,   -0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   -2e-007,-0.4,0.40000001,   -0.33333353,-0.4,0.40000001,   0.5,-0.4,0.5,   -2e-007,-0.4,0.40000001,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.33333313,-0.4,-0.40000013,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   0.33333353,-0.4,-0.40000013,   0.5,-0.4,0.5,   0.5,-0.4,-0.5,   2e-007,-0.4,-0.40000013,   0.33333353,-0.4,-0.40000013,   -0.33333353,-0.4,0.40000001,   -0.33333313,-0.4,-0.40000013,   -0.5,-0.4,0.5,   0.33333353,-0.4,-0.40000013,   0.33333313,-0.4,0.40000001,   0.5,-0.4,0.5,   0.33333353,-0.4,-0.40000013,   -0.33333313,-0.4,-0.40000013,   0.33333313,-0.4,0.40000001,   0.33333313,-0.4,0.40000001,   -0.33333313,-0.4,-0.40000013,   -0.33333353,-0.4,0.40000001,   0.33333313,-0.4,0.40000001,   -2e-007,-0.4,0.40000001,   0.5,-0.4,0.5,   -0.33333313,-0.4,-0.40000013,   2e-007,-0.4,-0.40000013,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869711,0.0060870017,   0.1707249,0.89513044,   0.0060869711,0.99391284,   0.0060869711,0.0060870017,   0.49999979,0.10486952,   0.17072438,0.10486955,   0.9939131,0.0060868782,   0.49999979,0.10486952,   0.0060869711,0.0060870017,   0.0060869711,0.99391284,   0.1707249,0.89513044,   0.99391294,0.99391313,   0.99391294,0.99391313,   0.82927541,0.89513059,   0.9939131,0.0060868782,   0.99391294,0.99391313,   0.50000012,0.89513051,   0.82927541,0.89513059,   0.17072438,0.10486955,   0.1707249,0.89513044,   0.0060869711,0.0060870017,   0.82927541,0.89513059,   0.82927527,0.10486951,   0.9939131,0.0060868782,   0.82927541,0.89513059,   0.1707249,0.89513044,   0.82927527,0.10486951,   0.82927527,0.10486951,   0.1707249,0.89513044,   0.17072438,0.10486955,   0.82927527,0.10486951,   0.49999979,0.10486952,   0.9939131,0.0060868782,   0.1707249,0.89513044,   0.50000012,0.89513051,   0.99391294,0.99391313,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 36 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 36 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Up'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391302,0.4506087,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.5493913,   0.99391302,0.4506087,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Up'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869754,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.4506087,   0.99391302,0.5493913,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Up'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.33333313,-0.5,-0.40000013,   -0.33333353,-0.5,0.40000001,   -0.5,-0.5,0.5,   -2e-007,-0.5,0.40000001,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.33333313,-0.5,0.40000001,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -2e-007,-0.5,0.40000001,   0.33333313,-0.5,0.40000001,   -0.5,-0.5,-0.5,   -0.33333313,-0.5,-0.40000013,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   2e-007,-0.5,-0.40000013,   -0.33333313,-0.5,-0.40000013,   0.5,-0.5,-0.5,   0.33333353,-0.5,-0.40000013,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.33333313,-0.5,0.40000001,   0.33333353,-0.5,-0.40000013,   -0.33333353,-0.5,0.40000001,   -0.33333313,-0.5,-0.40000013,   0.33333353,-0.5,-0.40000013,   -0.33333353,-0.5,0.40000001,   -2e-007,-0.5,0.40000001,   -0.5,-0.5,0.5,   0.33333353,-0.5,-0.40000013,   0.33333313,-0.5,0.40000001,   -0.33333353,-0.5,0.40000001,   0.33333353,-0.5,-0.40000013,   2e-007,-0.5,-0.40000013,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391299,0.0060869244,   0.82927518,0.89513034,   0.82927556,0.1048695,   0.99391299,0.0060869244,   0.50000015,0.10486951,   0.0060868111,0.0060869244,   0.0060868111,0.0060869244,   0.1707247,0.10486951,   0.0060871581,0.99391319,   0.0060868111,0.0060869244,   0.50000015,0.10486951,   0.1707247,0.10486951,   0.99391308,0.99391275,   0.82927518,0.89513034,   0.99391299,0.0060869244,   0.99391308,0.99391275,   0.49999993,0.89513049,   0.82927518,0.89513034,   0.0060871581,0.99391319,   0.17072464,0.89513063,   0.99391308,0.99391275,   0.0060871581,0.99391319,   0.1707247,0.10486951,   0.17072464,0.89513063,   0.82927556,0.1048695,   0.82927518,0.89513034,   0.17072464,0.89513063,   0.82927556,0.1048695,   0.50000015,0.10486951,   0.99391299,0.0060869244,   0.17072464,0.89513063,   0.1707247,0.10486951,   0.82927556,0.1048695,   0.17072464,0.89513063,   0.49999993,0.89513049,   0.99391308,0.99391275,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 36 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 36 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stair_Up'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.33333313,-0.4,0.40000001,   0.33333387,0.6,-0.3999998,   -2e-007,-0.4,0.40000001,   -2e-007,-0.4,0.40000001,   0.33333387,0.6,-0.3999998,   5.3333333e-007,0.6,-0.3999998,   0.33333313,-0.4,0.40000001,   0.33333387,0.5,-0.3999998,   0.33333387,0.6,-0.3999998,   0.33333313,-0.5,0.40000001,   0.33333387,0.5,-0.3999998,   0.33333313,-0.4,0.40000001,   -0.33333313,-0.4,-0.40000013,   -0.33333387,0.6,0.39999998,   2e-007,-0.4,-0.40000013,   -0.33333313,-0.4,-0.40000013,   -0.33333387,0.5,0.39999998,   -0.33333387,0.6,0.39999998,   -0.33333313,-0.5,-0.40000013,   -0.33333387,0.5,0.39999998,   -0.33333313,-0.4,-0.40000013,   0.33333313,-0.5,0.40000001,   5.3333333e-007,0.5,-0.3999998,   0.33333387,0.5,-0.3999998,   -2e-007,-0.4,0.40000001,   5.3333333e-007,0.5,-0.3999998,   -2e-007,-0.5,0.40000001,   5.3333333e-007,0.6,-0.3999998,   5.3333333e-007,0.5,-0.3999998,   -2e-007,-0.4,0.40000001,   2e-007,-0.4,-0.40000013,   -5.3333333e-007,0.5,0.39999998,   2e-007,-0.5,-0.40000013,   2e-007,-0.4,-0.40000013,   -5.3333333e-007,0.6,0.39999998,   -5.3333333e-007,0.5,0.39999998,   2e-007,-0.4,-0.40000013,   -0.33333387,0.6,0.39999998,   -5.3333333e-007,0.6,0.39999998,   2e-007,-0.5,-0.40000013,   -5.3333333e-007,0.5,0.39999998,   -0.33333313,-0.5,-0.40000013,   -2e-007,-0.5,0.40000001,   5.3333333e-007,0.5,-0.3999998,   0.33333313,-0.5,0.40000001,   -5.3333333e-007,0.5,0.39999998,   -0.33333387,0.5,0.39999998,   -0.33333313,-0.5,-0.40000013,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.66463731,-0.13251723,   0.66463804,1.13251723,   0.33536196,-0.13251723,   0.33536196,-0.13251723,   0.66463804,1.13251723,   0.33536269,1.13251723,   0.10486967,0.055478278,   0.89513033,0.94452172,   0.89513033,1.04330433,   0.10486967,-0.043304327,   0.89513033,0.94452172,   0.10486967,0.055478278,   0.66463731,-0.13251733,   0.66463804,1.13251733,   0.33536196,-0.13251733,   0.10486952,0.055478278,   0.89513048,0.94452172,   0.89513048,1.04330433,   0.10486952,-0.043304327,   0.89513048,0.94452172,   0.10486952,0.055478278,   0.33536278,-0.32423669,   0.6646374,0.94079778,   0.33536205,0.94079778,   0.89513033,0.055478278,   0.10486967,0.94452172,   0.89513033,-0.043304327,   0.10486967,1.04330433,   0.10486967,0.94452172,   0.89513033,0.055478278,   0.89513048,0.055478278,   0.10486952,0.94452172,   0.89513048,-0.043304327,   0.89513048,0.055478278,   0.10486952,1.04330433,   0.10486952,0.94452172,   0.33536196,-0.13251733,   0.66463804,1.13251733,   0.33536269,1.13251733,   0.66463813,-0.3242368,   0.6646374,0.94079785,   0.33536278,-0.32423681,   0.66463813,-0.32423669,   0.6646374,0.94079778,   0.33536278,-0.32423669,   0.6646374,0.94079785,   0.33536205,0.94079785,   0.33536278,-0.32423681,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   0,-0.624694957087903,-0.780868881816239,   0,-0.624694957087903,-0.780868881816239,   0,-0.624694957087903,-0.780868881816239,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   0,-0.624694957087903,-0.780868881816238,   0,-0.624694957087903,-0.780868881816238,   0,-0.624694957087903,-0.780868881816238,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 48 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 48 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Stairs'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   0.33333353,-0.4,-0.40000013,   2e-007,-0.5,-0.40000013,   0.33333353,-0.5,-0.40000013,   2e-007,-0.4,-0.40000013,   2e-007,-0.5,-0.40000013,   0.33333353,-0.4,-0.40000013,   -5.3333333e-007,0.6,0.39999998,   -0.33333387,0.5,0.39999998,   -5.3333333e-007,0.5,0.39999998,   -0.33333387,0.6,0.39999998,   -0.33333387,0.5,0.39999998,   -5.3333333e-007,0.6,0.39999998,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869754,0.4506087,   0.99391302,0.4506087,   0.0060869754,0.5493913,   0.0060869754,0.5493913,   0.99391302,0.4506087,   0.99391302,0.5493913,   0.66463767,0.5493913,   0.33536233,0.4506087,   0.66463767,0.4506087,   0.33536233,0.5493913,   0.33536233,0.4506087,   0.66463767,0.5493913,   0.6646374,1.03958045,   0.33536205,0.94079785,   0.6646374,0.94079785,   0.33536205,1.03958045,   0.33536205,0.94079785,   0.6646374,1.03958045,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stairs'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   -0.33333353,-0.4,0.40000001,   -2e-007,-0.4,0.40000001,   -0.33333353,-0.5,0.40000001,   -2e-007,-0.4,0.40000001,   -2e-007,-0.5,0.40000001,   -0.33333353,-0.5,0.40000001,   0.33333387,0.6,-0.3999998,   5.3333333e-007,0.5,-0.3999998,   5.3333333e-007,0.6,-0.3999998,   0.33333387,0.5,-0.3999998,   5.3333333e-007,0.5,-0.3999998,   0.33333387,0.6,-0.3999998,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391302,0.5493913,   0.0060869754,0.5493913,   0.99391302,0.4506087,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.4506087,   0.66463767,0.5493913,   0.33536233,0.5493913,   0.66463767,0.4506087,   0.33536233,0.5493913,   0.33536233,0.4506087,   0.66463767,0.4506087,   0.33536205,1.03958038,   0.6646374,0.94079778,   0.6646374,1.03958038,   0.33536205,0.94079778,   0.6646374,0.94079778,   0.33536205,1.03958038,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 18 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 18 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stairs'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.33333313,-0.4,-0.40000013,   -0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   -2e-007,-0.4,0.40000001,   -0.33333353,-0.4,0.40000001,   0.5,-0.4,0.5,   -2e-007,-0.4,0.40000001,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   2e-007,-0.4,-0.40000013,   0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   0.33333353,-0.4,-0.40000013,   0.5,-0.4,0.5,   0.5,-0.4,-0.5,   2e-007,-0.4,-0.40000013,   0.33333353,-0.4,-0.40000013,   -0.33333353,-0.4,0.40000001,   -0.33333313,-0.4,-0.40000013,   -0.5,-0.4,0.5,   0.33333353,-0.4,-0.40000013,   0.33333313,-0.4,0.40000001,   0.5,-0.4,0.5,   0.33333313,-0.4,0.40000001,   -2e-007,-0.4,0.40000001,   0.5,-0.4,0.5,   -0.33333313,-0.4,-0.40000013,   2e-007,-0.4,-0.40000013,   -0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869711,0.0060870017,   0.1707249,0.89513044,   0.0060869711,0.99391284,   0.0060869711,0.0060870017,   0.49999979,0.10486952,   0.17072438,0.10486955,   0.9939131,0.0060868782,   0.49999979,0.10486952,   0.0060869711,0.0060870017,   0.0060869711,0.99391284,   0.50000012,0.89513051,   0.99391294,0.99391313,   0.99391294,0.99391313,   0.82927541,0.89513059,   0.9939131,0.0060868782,   0.99391294,0.99391313,   0.50000012,0.89513051,   0.82927541,0.89513059,   0.17072438,0.10486955,   0.1707249,0.89513044,   0.0060869711,0.0060870017,   0.82927541,0.89513059,   0.82927527,0.10486951,   0.9939131,0.0060868782,   0.82927527,0.10486951,   0.49999979,0.10486952,   0.9939131,0.0060868782,   0.1707249,0.89513044,   0.50000012,0.89513051,   0.0060869711,0.99391284,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 30 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 30 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stairs'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391302,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stairs'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.0060869754,0.4506087,   0.99391302,0.5493913,   0.0060869754,0.5493913,   0.0060869754,0.4506087,   0.99391302,0.4506087,   0.99391302,0.5493913,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stairs'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -2e-007,-0.5,0.40000001,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   0.33333313,-0.5,0.40000001,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -2e-007,-0.5,0.40000001,   0.33333313,-0.5,0.40000001,   -0.5,-0.5,-0.5,   -0.33333353,-0.5,0.40000001,   -0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   -0.33333313,-0.5,-0.40000013,   -0.33333353,-0.5,0.40000001,   -0.5,-0.5,-0.5,   2e-007,-0.5,-0.40000013,   -0.33333313,-0.5,-0.40000013,   0.5,-0.5,-0.5,   0.33333313,-0.5,0.40000001,   0.33333353,-0.5,-0.40000013,   0.5,-0.5,-0.5,   2e-007,-0.5,-0.40000013,   -0.5,-0.5,-0.5,   -0.33333353,-0.5,0.40000001,   -2e-007,-0.5,0.40000001,   -0.5,-0.5,0.5,   0.33333353,-0.5,-0.40000013,   2e-007,-0.5,-0.40000013,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.99391299,0.0060869244,   0.50000015,0.10486951,   0.0060868111,0.0060869244,   0.0060868111,0.0060869244,   0.1707247,0.10486951,   0.0060871581,0.99391319,   0.0060868111,0.0060869244,   0.50000015,0.10486951,   0.1707247,0.10486951,   0.99391308,0.99391275,   0.82927556,0.1048695,   0.99391299,0.0060869244,   0.99391308,0.99391275,   0.82927518,0.89513034,   0.82927556,0.1048695,   0.99391308,0.99391275,   0.49999993,0.89513049,   0.82927518,0.89513034,   0.0060871581,0.99391319,   0.1707247,0.10486951,   0.17072464,0.89513063,   0.0060871581,0.99391319,   0.49999993,0.89513049,   0.99391308,0.99391275,   0.82927556,0.1048695,   0.50000015,0.10486951,   0.99391299,0.0060869244,   0.17072464,0.89513063,   0.49999993,0.89513049,   0.0060871581,0.99391319,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 30 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 30 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Stairs'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.33333353,-0.4,0.40000001,   -0.33333353,-0.5,0.40000001,   -0.33333313,-0.4,-0.40000013,   -0.33333353,-0.5,0.40000001,   -0.33333313,-0.5,-0.40000013,   -0.33333313,-0.4,-0.40000013,   0.33333353,-0.4,-0.40000013,   0.33333313,-0.5,0.40000001,   0.33333313,-0.4,0.40000001,   0.33333353,-0.5,-0.40000013,   0.33333313,-0.5,0.40000001,   0.33333353,-0.4,-0.40000013,   0.33333313,-0.4,0.40000001,   0.33333387,0.6,-0.3999998,   -2e-007,-0.4,0.40000001,   -2e-007,-0.4,0.40000001,   0.33333387,0.6,-0.3999998,   5.3333333e-007,0.6,-0.3999998,   -0.33333313,-0.4,-0.40000013,   -5.3333333e-007,0.6,0.39999998,   2e-007,-0.4,-0.40000013,   -0.33333313,-0.4,-0.40000013,   -0.33333387,0.6,0.39999998,   -5.3333333e-007,0.6,0.39999998,   -0.33333313,-0.4,-0.40000013,   -0.33333387,0.5,0.39999998,   -0.33333387,0.6,0.39999998,   -0.33333313,-0.5,-0.40000013,   -0.33333387,0.5,0.39999998,   -0.33333313,-0.4,-0.40000013,   0.33333313,-0.5,0.40000001,   0.33333387,0.6,-0.3999998,   0.33333313,-0.4,0.40000001,   0.33333313,-0.5,0.40000001,   0.33333387,0.5,-0.3999998,   0.33333387,0.6,-0.3999998,   0.33333313,-0.5,0.40000001,   5.3333333e-007,0.5,-0.3999998,   0.33333387,0.5,-0.3999998,   -2e-007,-0.4,0.40000001,   5.3333333e-007,0.5,-0.3999998,   -2e-007,-0.5,0.40000001,   5.3333333e-007,0.6,-0.3999998,   5.3333333e-007,0.5,-0.3999998,   -2e-007,-0.4,0.40000001,   2e-007,-0.4,-0.40000013,   -5.3333333e-007,0.6,0.39999998,   2e-007,-0.5,-0.40000013,   2e-007,-0.5,-0.40000013,   -5.3333333e-007,0.6,0.39999998,   -5.3333333e-007,0.5,0.39999998,   2e-007,-0.5,-0.40000013,   -0.33333387,0.5,0.39999998,   -0.33333313,-0.5,-0.40000013,   -2e-007,-0.5,0.40000001,   5.3333333e-007,0.5,-0.3999998,   0.33333313,-0.5,0.40000001,   -5.3333333e-007,0.5,0.39999998,   -0.33333387,0.5,0.39999998,   2e-007,-0.5,-0.40000013,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.10486951,0.5493913,   0.10486951,0.4506087,   0.89513049,0.5493913,   0.10486951,0.4506087,   0.89513049,0.4506087,   0.89513049,0.5493913,   0.10486951,0.5493913,   0.89513049,0.4506087,   0.89513049,0.5493913,   0.10486951,0.4506087,   0.89513049,0.4506087,   0.10486951,0.5493913,   0.66463731,-0.13251723,   0.66463804,1.13251723,   0.33536196,-0.13251723,   0.33536196,-0.13251723,   0.66463804,1.13251723,   0.33536269,1.13251723,   0.66463731,-0.13251733,   0.33536269,1.13251733,   0.33536196,-0.13251733,   0.66463731,-0.13251733,   0.66463804,1.13251733,   0.33536269,1.13251733,   0.10486952,0.055478278,   0.89513048,0.94452172,   0.89513048,1.04330433,   0.10486952,-0.043304327,   0.89513048,0.94452172,   0.10486952,0.055478278,   0.10486967,-0.043304327,   0.89513033,1.04330433,   0.10486967,0.055478278,   0.10486967,-0.043304327,   0.89513033,0.94452172,   0.89513033,1.04330433,   0.33536278,-0.32423669,   0.6646374,0.94079778,   0.33536205,0.94079778,   0.89513033,0.055478278,   0.10486967,0.94452172,   0.89513033,-0.043304327,   0.10486967,1.04330433,   0.10486967,0.94452172,   0.89513033,0.055478278,   0.89513048,0.055478278,   0.10486952,1.04330433,   0.89513048,-0.043304327,   0.89513048,-0.043304327,   0.10486952,1.04330433,   0.10486952,0.94452172,   0.66463813,-0.3242368,   0.33536205,0.94079785,   0.33536278,-0.32423681,   0.66463813,-0.32423669,   0.6646374,0.94079778,   0.33536278,-0.32423669,   0.6646374,0.94079785,   0.33536205,0.94079785,   0.66463813,-0.3242368,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   -0.999999999999875,0,0,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624694957087903,0.780868881816239,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   0,0.624695099929767,-0.780868767542753,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   -0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0.999999999999572,0,0,   0,-0.624694957087903,-0.780868881816239,   0,-0.624694957087903,-0.780868881816239,   0,-0.624694957087903,-0.780868881816239,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   -0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0.99999999999958,0,0,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   0,-0.624694957087903,-0.780868881816238,   0,-0.624694957087903,-0.780868881816238,   0,-0.624694957087903,-0.780868881816238,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   0,-0.624695099929767,0.780868767542753,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 60 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 60 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Tree'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01020972,0.16651691,   0.15000276,0.16651691,   0.01020972,0.18049621,   0.01020972,0.18049621,   0.15000276,0.16651691,   0.15000276,0.18049621,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Tree'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,-0.5,   0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   0.5,-0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.15000276,0.18049621,   0.01020972,0.18049621,   0.15000276,0.16651691,   0.01020972,0.18049621,   0.01020972,0.16651691,   0.15000276,0.16651691,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Tree'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.4,-0.5,   -0.5,-0.4,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01020972,0.10361004,   0.15000276,0.24340308,   0.01020972,0.24340308,   0.15000276,0.10361004,   0.15000276,0.24340308,   0.01020972,0.10361004,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Tree'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.4,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,-0.4,0.5,   -0.5,-0.4,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.15000276,0.18049621,   0.01020972,0.16651691,   0.15000276,0.16651691,   0.15000276,0.18049621,   0.01020972,0.18049621,   0.01020972,0.16651691,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Tree'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,-0.4,-0.5,   0.5,-0.4,0.5,   0.5,-0.5,0.5,   0.5,-0.5,-0.5,   0.5,-0.4,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.01020972,0.16651691,   0.15000276,0.18049621,   0.01020972,0.18049621,   0.01020972,0.16651691,   0.15000276,0.16651691,   0.15000276,0.18049621,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Tree'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.15000276,0.10361004,   0.15000276,0.24340308,   0.01020972,0.10361004,   0.15000276,0.24340308,   0.01020972,0.24340308,   0.01020972,0.10361004,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Tree'}[main] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.034711254,-0.015632656,-3.3459346e-018,   0.032001392,-0.015644953,-0.01362353,   0.032001392,-0.015644953,0.01362353,   0.034711254,-0.015632656,-3.3459346e-018,   0.036488013,-0.40717167,-3.3459346e-018,   0.032001392,-0.015644953,-0.01362353,   0.032001392,-0.015644953,0.01362353,   0.032001392,-0.015644953,-0.01362353,   0.024284362,-0.015679972,0.025173001,   0.032001392,-0.015644953,0.01362353,   0.036488013,-0.40717167,-3.3459346e-018,   0.034711254,-0.015632656,-3.3459346e-018,   0.032001392,-0.015644953,0.01362353,   0.033778152,-0.40718396,0.01362353,   0.036488013,-0.40717167,-3.3459346e-018,   0.032001392,-0.015644953,0.01362353,   0.026061122,-0.40721898,0.025173001,   0.033778152,-0.40718396,0.01362353,   0.024284362,-0.015679972,0.025173001,   0.024284362,-0.015679972,-0.025173001,   0.01273501,-0.015732381,0.032890111,   0.024284362,-0.015679972,0.025173001,   0.032001392,-0.015644953,-0.01362353,   0.024284362,-0.015679972,-0.025173001,   0.024284362,-0.015679972,0.025173001,   0.026061122,-0.40721898,0.025173001,   0.032001392,-0.015644953,0.01362353,   0.01273501,-0.015732381,0.032890111,   0.01273501,-0.015732381,-0.032890111,   -0.00088837994,-0.015794203,0.0356,   0.01273501,-0.015732381,0.032890111,   0.024284362,-0.015679972,-0.025173001,   0.01273501,-0.015732381,-0.032890111,   0.01273501,-0.015732381,0.032890111,   0.026061122,-0.40721898,0.025173001,   0.024284362,-0.015679972,0.025173001,   0.01273501,-0.015732381,0.032890111,   0.01451177,-0.40727139,0.032890111,   0.026061122,-0.40721898,0.025173001,   0.01273501,-0.015732381,0.032890111,   0.00088837994,-0.40733321,0.0356,   0.01451177,-0.40727139,0.032890111,   -0.00088837994,-0.015794203,0.0356,   -0.00088837994,-0.015794203,-0.0356,   -0.01451177,-0.015856024,0.032890111,   -0.00088837994,-0.015794203,0.0356,   0.01273501,-0.015732381,-0.032890111,   -0.00088837994,-0.015794203,-0.0356,   -0.00088837994,-0.015794203,0.0356,   0.00088837994,-0.40733321,0.0356,   0.01273501,-0.015732381,0.032890111,   -0.01451177,-0.015856024,0.032890111,   -0.01451177,-0.015856024,-0.032890111,   -0.026061122,-0.015908434,0.025173001,   -0.026061122,-0.015908434,0.025173001,   -0.01451177,-0.015856024,-0.032890111,   -0.026061122,-0.015908434,-0.025173001,   -0.01451177,-0.015856024,0.032890111,   -0.00088837994,-0.015794203,-0.0356,   -0.01451177,-0.015856024,-0.032890111,   -0.01451177,-0.015856024,0.032890111,   0.00088837994,-0.40733321,0.0356,   -0.00088837994,-0.015794203,0.0356,   -0.01451177,-0.015856024,0.032890111,   -0.01273501,-0.40739504,0.032890111,   0.00088837994,-0.40733321,0.0356,   -0.01451177,-0.015856024,0.032890111,   -0.024284362,-0.40744745,0.025173001,   -0.01273501,-0.40739504,0.032890111,   -0.026061122,-0.015908434,0.025173001,   -0.026061122,-0.015908434,-0.025173001,   -0.033778152,-0.015943453,0.01362353,   -0.026061122,-0.015908434,0.025173001,   -0.024284362,-0.40744745,0.025173001,   -0.01451177,-0.015856024,0.032890111,   -0.033778152,-0.015943453,0.01362353,   -0.033778152,-0.015943453,-0.01362353,   -0.036488013,-0.01595575,1.013808e-018,   -0.033778152,-0.015943453,0.01362353,   -0.026061122,-0.015908434,-0.025173001,   -0.033778152,-0.015943453,-0.01362353,   -0.033778152,-0.015943453,0.01362353,   -0.024284362,-0.40744745,0.025173001,   -0.026061122,-0.015908434,0.025173001,   -0.033778152,-0.015943453,0.01362353,   -0.032001392,-0.40748246,0.01362353,   -0.024284362,-0.40744745,0.025173001,   -0.033778152,-0.015943453,0.01362353,   -0.034711254,-0.40749476,1.013808e-018,   -0.032001392,-0.40748246,0.01362353,   -0.036488013,-0.01595575,1.013808e-018,   -0.034711254,-0.40749476,1.013808e-018,   -0.033778152,-0.015943453,0.01362353,   -0.033778152,-0.015943453,-0.01362353,   -0.034711254,-0.40749476,1.013808e-018,   -0.036488013,-0.01595575,1.013808e-018,   -0.033778152,-0.015943453,-0.01362353,   -0.032001392,-0.40748246,-0.01362353,   -0.034711254,-0.40749476,1.013808e-018,   -0.033778152,-0.015943453,-0.01362353,   -0.024284362,-0.40744745,-0.025173001,   -0.032001392,-0.40748246,-0.01362353,   -0.026061122,-0.015908434,-0.025173001,   -0.024284362,-0.40744745,-0.025173001,   -0.033778152,-0.015943453,-0.01362353,   -0.01451177,-0.015856024,-0.032890111,   -0.024284362,-0.40744745,-0.025173001,   -0.026061122,-0.015908434,-0.025173001,   -0.01451177,-0.015856024,-0.032890111,   -0.01273501,-0.40739504,-0.032890111,   -0.024284362,-0.40744745,-0.025173001,   -0.01451177,-0.015856024,-0.032890111,   0.00088837994,-0.40733321,-0.0356,   -0.01273501,-0.40739504,-0.032890111,   -0.00088837994,-0.015794203,-0.0356,   0.00088837994,-0.40733321,-0.0356,   -0.01451177,-0.015856024,-0.032890111,   0.01273501,-0.015732381,-0.032890111,   0.00088837994,-0.40733321,-0.0356,   -0.00088837994,-0.015794203,-0.0356,   0.01273501,-0.015732381,-0.032890111,   0.01451177,-0.40727139,-0.032890111,   0.00088837994,-0.40733321,-0.0356,   0.01273501,-0.015732381,-0.032890111,   0.026061122,-0.40721898,-0.025173001,   0.01451177,-0.40727139,-0.032890111,   0.024284362,-0.015679972,-0.025173001,   0.026061122,-0.40721898,-0.025173001,   0.01273501,-0.015732381,-0.032890111,   0.032001392,-0.015644953,-0.01362353,   0.026061122,-0.40721898,-0.025173001,   0.024284362,-0.015679972,-0.025173001,   0.032001392,-0.015644953,-0.01362353,   0.033778152,-0.40718396,-0.01362353,   0.026061122,-0.40721898,-0.025173001,   0.036488013,-0.40717167,-3.3459346e-018,   0.033778152,-0.40718396,-0.01362353,   0.032001392,-0.015644953,-0.01362353,   0.033778152,-0.40718396,0.01362353,   0.033778152,-0.40718396,-0.01362353,   0.036488013,-0.40717167,-3.3459346e-018,   0.026061122,-0.40721898,0.025173001,   0.026061122,-0.40721898,-0.025173001,   0.033778152,-0.40718396,0.01362353,   0.01451177,-0.40727139,0.032890111,   0.01451177,-0.40727139,-0.032890111,   0.026061122,-0.40721898,0.025173001,   0.00088837994,-0.40733321,0.0356,   0.00088837994,-0.40733321,-0.0356,   0.01451177,-0.40727139,0.032890111,   0.00088837994,-0.40733321,-0.0356,   0.01451177,-0.40727139,-0.032890111,   0.01451177,-0.40727139,0.032890111,   -0.01273501,-0.40739504,0.032890111,   -0.01273501,-0.40739504,-0.032890111,   0.00088837994,-0.40733321,0.0356,   -0.024284362,-0.40744745,0.025173001,   -0.024284362,-0.40744745,-0.025173001,   -0.01273501,-0.40739504,0.032890111,   -0.024284362,-0.40744745,-0.025173001,   -0.01273501,-0.40739504,-0.032890111,   -0.01273501,-0.40739504,0.032890111,   -0.032001392,-0.40748246,0.01362353,   -0.032001392,-0.40748246,-0.01362353,   -0.024284362,-0.40744745,0.025173001,   -0.034711254,-0.40749476,1.013808e-018,   -0.032001392,-0.40748246,-0.01362353,   -0.032001392,-0.40748246,0.01362353,   -0.032001392,-0.40748246,-0.01362353,   -0.024284362,-0.40744745,-0.025173001,   -0.024284362,-0.40744745,0.025173001,   -0.01273501,-0.40739504,-0.032890111,   0.00088837994,-0.40733321,-0.0356,   0.00088837994,-0.40733321,0.0356,   0.01451177,-0.40727139,-0.032890111,   0.026061122,-0.40721898,-0.025173001,   0.026061122,-0.40721898,0.025173001,   0.026061122,-0.40721898,-0.025173001,   0.033778152,-0.40718396,-0.01362353,   0.033778152,-0.40718396,0.01362353,   0.071026045,0.35203633,-2.1811013e-018,   0.12231477,0.2634176,-2.2438533e-018,   0.065619509,0.35203633,-0.027180491,   0.071026045,0.35203633,-2.1811013e-018,   -3.5690749e-017,0.40519228,-2.1811013e-018,   0.065619509,0.35203633,0.027180491,   0.065619509,0.35203633,0.027180491,   0.12231477,0.2634176,-2.2438533e-018,   0.071026045,0.35203633,-2.1811013e-018,   0.065619509,0.35203633,0.027180491,   0.11300411,0.2634176,0.046807834,   0.12231477,0.2634176,-2.2438533e-018,   0.065619509,0.35203633,0.027180491,   0.0864896,0.2634176,0.0864896,   0.11300411,0.2634176,0.046807834,   0.065619509,0.35203633,0.027180491,   -3.5690749e-017,0.40519228,-2.1811013e-018,   0.050222998,0.35203633,0.050222998,   0.050222998,0.35203633,0.050222998,   0.0864896,0.2634176,0.0864896,   0.065619509,0.35203633,0.027180491,   0.050222998,0.35203633,0.050222998,   -3.5690749e-017,0.40519228,-2.1811013e-018,   0.027180491,0.35203633,0.065619509,   0.027180491,0.35203633,0.065619509,   0.0864896,0.2634176,0.0864896,   0.050222998,0.35203633,0.050222998,   0.027180491,0.35203633,0.065619509,   0.046807834,0.2634176,0.11300411,   0.0864896,0.2634176,0.0864896,   0.027180491,0.35203633,0.065619509,   -2.8723188e-017,0.2634176,0.12231477,   0.046807834,0.2634176,0.11300411,   0.027180491,0.35203633,0.065619509,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -3.1341658e-017,0.35203633,0.071026045,   -3.1341658e-017,0.35203633,0.071026045,   -2.8723188e-017,0.2634176,0.12231477,   0.027180491,0.35203633,0.065619509,   -3.1341658e-017,0.35203633,0.071026045,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -0.027180491,0.35203633,0.065619509,   -0.027180491,0.35203633,0.065619509,   -2.8723188e-017,0.2634176,0.12231477,   -3.1341658e-017,0.35203633,0.071026045,   -0.027180491,0.35203633,0.065619509,   -0.046807834,0.2634176,0.11300411,   -2.8723188e-017,0.2634176,0.12231477,   -0.027180491,0.35203633,0.065619509,   -0.0864896,0.2634176,0.0864896,   -0.046807834,0.2634176,0.11300411,   -0.027180491,0.35203633,0.065619509,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -0.050222998,0.35203633,0.050222998,   -0.050222998,0.35203633,0.050222998,   -0.0864896,0.2634176,0.0864896,   -0.027180491,0.35203633,0.065619509,   -0.050222998,0.35203633,0.050222998,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -0.065619509,0.35203633,0.027180491,   -0.065619509,0.35203633,0.027180491,   -0.0864896,0.2634176,0.0864896,   -0.050222998,0.35203633,0.050222998,   -0.065619509,0.35203633,0.027180491,   -0.11300411,0.2634176,0.046807834,   -0.0864896,0.2634176,0.0864896,   -0.065619509,0.35203633,0.027180491,   -0.12231477,0.2634176,1.2735385e-017,   -0.11300411,0.2634176,0.046807834,   -0.065619509,0.35203633,0.027180491,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -0.071026045,0.35203633,6.5170806e-018,   -0.071026045,0.35203633,6.5170806e-018,   -0.12231477,0.2634176,1.2735385e-017,   -0.065619509,0.35203633,0.027180491,   -0.071026045,0.35203633,6.5170806e-018,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -0.065619509,0.35203633,-0.027180491,   -0.065619509,0.35203633,-0.027180491,   -0.12231477,0.2634176,1.2735385e-017,   -0.071026045,0.35203633,6.5170806e-018,   -0.065619509,0.35203633,-0.027180491,   -0.11300411,0.2634176,-0.046807834,   -0.12231477,0.2634176,1.2735385e-017,   -0.065619509,0.35203633,-0.027180491,   -0.0864896,0.2634176,-0.0864896,   -0.11300411,0.2634176,-0.046807834,   -0.065619509,0.35203633,-0.027180491,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -0.050222998,0.35203633,-0.050222998,   -0.050222998,0.35203633,-0.050222998,   -0.0864896,0.2634176,-0.0864896,   -0.065619509,0.35203633,-0.027180491,   -0.050222998,0.35203633,-0.050222998,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -0.027180491,0.35203633,-0.065619509,   -0.027180491,0.35203633,-0.065619509,   -0.0864896,0.2634176,-0.0864896,   -0.050222998,0.35203633,-0.050222998,   -0.027180491,0.35203633,-0.065619509,   -0.046807834,0.2634176,-0.11300411,   -0.0864896,0.2634176,-0.0864896,   -0.027180491,0.35203633,-0.065619509,   -5.8681665e-017,0.2634176,-0.12231477,   -0.046807834,0.2634176,-0.11300411,   -0.027180491,0.35203633,-0.065619509,   -3.5690749e-017,0.40519228,-2.1811013e-018,   -4.8738021e-017,0.35203633,-0.071026045,   -4.8738021e-017,0.35203633,-0.071026045,   -5.8681665e-017,0.2634176,-0.12231477,   -0.027180491,0.35203633,-0.065619509,   -4.8738021e-017,0.35203633,-0.071026045,   -3.5690749e-017,0.40519228,-2.1811013e-018,   0.027180491,0.35203633,-0.065619509,   0.027180491,0.35203633,-0.065619509,   -5.8681665e-017,0.2634176,-0.12231477,   -4.8738021e-017,0.35203633,-0.071026045,   0.027180491,0.35203633,-0.065619509,   0.046807834,0.2634176,-0.11300411,   -5.8681665e-017,0.2634176,-0.12231477,   0.027180491,0.35203633,-0.065619509,   0.0864896,0.2634176,-0.0864896,   0.046807834,0.2634176,-0.11300411,   0.027180491,0.35203633,-0.065619509,   -3.5690749e-017,0.40519228,-2.1811013e-018,   0.050222998,0.35203633,-0.050222998,   0.050222998,0.35203633,-0.050222998,   0.0864896,0.2634176,-0.0864896,   0.027180491,0.35203633,-0.065619509,   0.050222998,0.35203633,-0.050222998,   -3.5690749e-017,0.40519228,-2.1811013e-018,   0.065619509,0.35203633,-0.027180491,   0.065619509,0.35203633,-0.027180491,   0.0864896,0.2634176,-0.0864896,   0.050222998,0.35203633,-0.050222998,   0.065619509,0.35203633,-0.027180491,   0.11300411,0.2634176,-0.046807834,   0.0864896,0.2634176,-0.0864896,   0.065619509,0.35203633,-0.027180491,   -3.5690749e-017,0.40519228,-2.1811013e-018,   0.071026045,0.35203633,-2.1811013e-018,   0.12231477,0.2634176,-2.2438533e-018,   0.11300411,0.2634176,-0.046807834,   0.065619509,0.35203633,-0.027180491,   0.12231477,0.2634176,-2.2438533e-018,   0.14764698,0.15200074,0.061157383,   0.15981194,0.15200074,-2.2438533e-018,   0.12231477,0.2634176,-2.2438533e-018,   0.14764698,0.15200074,-0.061157383,   0.11300411,0.2634176,-0.046807834,   0.11300411,0.2634176,0.046807834,   0.14764698,0.15200074,0.061157383,   0.12231477,0.2634176,-2.2438533e-018,   0.0864896,0.2634176,0.0864896,   0.14764698,0.15200074,0.061157383,   0.11300411,0.2634176,0.046807834,   0.0864896,0.2634176,0.0864896,   0.11300411,0.15200074,0.11300411,   0.14764698,0.15200074,0.061157383,   0.0864896,0.2634176,0.0864896,   0.061157383,0.15200074,0.14764698,   0.11300411,0.15200074,0.11300411,   0.046807834,0.2634176,0.11300411,   0.061157383,0.15200074,0.14764698,   0.0864896,0.2634176,0.0864896,   -2.8723188e-017,0.2634176,0.12231477,   0.061157383,0.15200074,0.14764698,   0.046807834,0.2634176,0.11300411,   -2.8723188e-017,0.2634176,0.12231477,   -2.6427148e-017,0.15200074,0.15981194,   0.061157383,0.15200074,0.14764698,   -2.8723188e-017,0.2634176,0.12231477,   -0.061157383,0.15200074,0.14764698,   -2.6427148e-017,0.15200074,0.15981194,   -0.046807834,0.2634176,0.11300411,   -0.061157383,0.15200074,0.14764698,   -2.8723188e-017,0.2634176,0.12231477,   -0.0864896,0.2634176,0.0864896,   -0.061157383,0.15200074,0.14764698,   -0.046807834,0.2634176,0.11300411,   -0.0864896,0.2634176,0.0864896,   -0.11300411,0.15200074,0.11300411,   -0.061157383,0.15200074,0.14764698,   -0.0864896,0.2634176,0.0864896,   -0.14764698,0.15200074,0.061157383,   -0.11300411,0.15200074,0.11300411,   -0.11300411,0.2634176,0.046807834,   -0.14764698,0.15200074,0.061157383,   -0.0864896,0.2634176,0.0864896,   -0.12231477,0.2634176,1.2735385e-017,   -0.14764698,0.15200074,0.061157383,   -0.11300411,0.2634176,0.046807834,   -0.12231477,0.2634176,1.2735385e-017,   -0.15981194,0.15200074,1.7327465e-017,   -0.14764698,0.15200074,0.061157383,   -0.12231477,0.2634176,1.2735385e-017,   -0.14764698,0.15200074,-0.061157383,   -0.15981194,0.15200074,1.7327465e-017,   -0.11300411,0.2634176,-0.046807834,   -0.14764698,0.15200074,-0.061157383,   -0.12231477,0.2634176,1.2735385e-017,   -0.0864896,0.2634176,-0.0864896,   -0.14764698,0.15200074,-0.061157383,   -0.11300411,0.2634176,-0.046807834,   -0.0864896,0.2634176,-0.0864896,   -0.11300411,0.15200074,-0.11300411,   -0.14764698,0.15200074,-0.061157383,   -0.0864896,0.2634176,-0.0864896,   -0.061157383,0.15200074,-0.14764698,   -0.11300411,0.15200074,-0.11300411,   -0.046807834,0.2634176,-0.11300411,   -0.061157383,0.15200074,-0.14764698,   -0.0864896,0.2634176,-0.0864896,   -5.8681665e-017,0.2634176,-0.12231477,   -0.061157383,0.15200074,-0.14764698,   -0.046807834,0.2634176,-0.11300411,   -5.8681665e-017,0.2634176,-0.12231477,   -6.5569785e-017,0.15200074,-0.15981194,   -0.061157383,0.15200074,-0.14764698,   -5.8681665e-017,0.2634176,-0.12231477,   0.061157383,0.15200074,-0.14764698,   -6.5569785e-017,0.15200074,-0.15981194,   0.046807834,0.2634176,-0.11300411,   0.061157383,0.15200074,-0.14764698,   -5.8681665e-017,0.2634176,-0.12231477,   0.0864896,0.2634176,-0.0864896,   0.061157383,0.15200074,-0.14764698,   0.046807834,0.2634176,-0.11300411,   0.0864896,0.2634176,-0.0864896,   0.11300411,0.15200074,-0.11300411,   0.061157383,0.15200074,-0.14764698,   0.0864896,0.2634176,-0.0864896,   0.14764698,0.15200074,-0.061157383,   0.11300411,0.15200074,-0.11300411,   0.11300411,0.2634176,-0.046807834,   0.14764698,0.15200074,-0.061157383,   0.0864896,0.2634176,-0.0864896,   0.15981194,0.15200074,-2.2438533e-018,   0.14764698,0.15200074,-0.061157383,   0.12231477,0.2634176,-2.2438533e-018,   0.15981194,0.15200074,-2.2438533e-018,   0.1856,0.037506756,-2.1811013e-018,   0.14764698,0.15200074,-0.061157383,   0.14764698,0.15200074,0.061157383,   0.1856,0.037506756,-2.1811013e-018,   0.15981194,0.15200074,-2.2438533e-018,   0.14764698,0.15200074,0.061157383,   0.17147204,0.037506756,0.071026045,   0.1856,0.037506756,-2.1811013e-018,   0.14764698,0.15200074,0.061157383,   0.13123902,0.037506756,0.13123902,   0.17147204,0.037506756,0.071026045,   0.11300411,0.15200074,0.11300411,   0.13123902,0.037506756,0.13123902,   0.14764698,0.15200074,0.061157383,   0.061157383,0.15200074,0.14764698,   0.13123902,0.037506756,0.13123902,   0.11300411,0.15200074,0.11300411,   0.061157383,0.15200074,0.14764698,   0.071026045,0.037506756,0.17147204,   0.13123902,0.037506756,0.13123902,   0.061157383,0.15200074,0.14764698,   -2.4326026e-017,0.037506756,0.1856,   0.071026045,0.037506756,0.17147204,   -2.6427148e-017,0.15200074,0.15981194,   -2.4326026e-017,0.037506756,0.1856,   0.061157383,0.15200074,0.14764698,   -0.061157383,0.15200074,0.14764698,   -2.4326026e-017,0.037506756,0.1856,   -2.6427148e-017,0.15200074,0.15981194,   -0.061157383,0.15200074,0.14764698,   -0.071026045,0.037506756,0.17147204,   -2.4326026e-017,0.037506756,0.1856,   -0.061157383,0.15200074,0.14764698,   -0.13123902,0.037506756,0.13123902,   -0.071026045,0.037506756,0.17147204,   -0.11300411,0.15200074,0.11300411,   -0.13123902,0.037506756,0.13123902,   -0.061157383,0.15200074,0.14764698,   -0.14764698,0.15200074,0.061157383,   -0.13123902,0.037506756,0.13123902,   -0.11300411,0.15200074,0.11300411,   -0.14764698,0.15200074,0.061157383,   -0.17147204,0.037506756,0.071026045,   -0.13123902,0.037506756,0.13123902,   -0.14764698,0.15200074,0.061157383,   -0.1856,0.037506756,2.0548343e-017,   -0.17147204,0.037506756,0.071026045,   -0.15981194,0.15200074,1.7327465e-017,   -0.1856,0.037506756,2.0548343e-017,   -0.14764698,0.15200074,0.061157383,   -0.14764698,0.15200074,-0.061157383,   -0.1856,0.037506756,2.0548343e-017,   -0.15981194,0.15200074,1.7327465e-017,   -0.14764698,0.15200074,-0.061157383,   -0.17147204,0.037506756,-0.071026045,   -0.1856,0.037506756,2.0548343e-017,   -0.14764698,0.15200074,-0.061157383,   -0.13123902,0.037506756,-0.13123902,   -0.17147204,0.037506756,-0.071026045,   -0.11300411,0.15200074,-0.11300411,   -0.13123902,0.037506756,-0.13123902,   -0.14764698,0.15200074,-0.061157383,   -0.061157383,0.15200074,-0.14764698,   -0.13123902,0.037506756,-0.13123902,   -0.11300411,0.15200074,-0.11300411,   -0.061157383,0.15200074,-0.14764698,   -0.071026045,0.037506756,-0.17147204,   -0.13123902,0.037506756,-0.13123902,   -0.061157383,0.15200074,-0.14764698,   -6.9784915e-017,0.037506756,-0.1856,   -0.071026045,0.037506756,-0.17147204,   -6.5569785e-017,0.15200074,-0.15981194,   -6.9784915e-017,0.037506756,-0.1856,   -0.061157383,0.15200074,-0.14764698,   0.061157383,0.15200074,-0.14764698,   -6.9784915e-017,0.037506756,-0.1856,   -6.5569785e-017,0.15200074,-0.15981194,   0.061157383,0.15200074,-0.14764698,   0.071026045,0.037506756,-0.17147204,   -6.9784915e-017,0.037506756,-0.1856,   0.061157383,0.15200074,-0.14764698,   0.13123902,0.037506756,-0.13123902,   0.071026045,0.037506756,-0.17147204,   0.11300411,0.15200074,-0.11300411,   0.13123902,0.037506756,-0.13123902,   0.061157383,0.15200074,-0.14764698,   0.14764698,0.15200074,-0.061157383,   0.13123902,0.037506756,-0.13123902,   0.11300411,0.15200074,-0.11300411,   0.14764698,0.15200074,-0.061157383,   0.17147204,0.037506756,-0.071026045,   0.13123902,0.037506756,-0.13123902,   0.1856,0.037506756,-2.1811013e-018,   0.17147204,0.037506756,-0.071026045,   0.14764698,0.15200074,-0.061157383,   0.1856,0.037506756,-2.1811013e-018,   0.15841951,-0.076987229,0.065619509,   0.17147204,-0.076987229,-2.1811013e-018,   0.1856,0.037506756,-2.1811013e-018,   0.15841951,-0.076987229,-0.065619509,   0.17147204,0.037506756,-0.071026045,   0.17147204,0.037506756,0.071026045,   0.15841951,-0.076987229,0.065619509,   0.1856,0.037506756,-2.1811013e-018,   0.13123902,0.037506756,0.13123902,   0.15841951,-0.076987229,0.065619509,   0.17147204,0.037506756,0.071026045,   0.13123902,0.037506756,0.13123902,   0.12124904,-0.076987229,0.12124904,   0.15841951,-0.076987229,0.065619509,   0.13123902,0.037506756,0.13123902,   0.065619509,-0.076987229,0.15841951,   0.12124904,-0.076987229,0.12124904,   0.071026045,0.037506756,0.17147204,   0.065619509,-0.076987229,0.15841951,   0.13123902,0.037506756,0.13123902,   -2.4326026e-017,0.037506756,0.1856,   0.065619509,-0.076987229,0.15841951,   0.071026045,0.037506756,0.17147204,   -2.4326026e-017,0.037506756,0.1856,   -2.5191114e-017,-0.076987229,0.17147204,   0.065619509,-0.076987229,0.15841951,   -2.4326026e-017,0.037506756,0.1856,   -0.065619509,-0.076987229,0.15841951,   -2.5191114e-017,-0.076987229,0.17147204,   -0.071026045,0.037506756,0.17147204,   -0.065619509,-0.076987229,0.15841951,   -2.4326026e-017,0.037506756,0.1856,   -0.13123902,0.037506756,0.13123902,   -0.065619509,-0.076987229,0.15841951,   -0.071026045,0.037506756,0.17147204,   -0.13123902,0.037506756,0.13123902,   -0.12124904,-0.076987229,0.12124904,   -0.065619509,-0.076987229,0.15841951,   -0.13123902,0.037506756,0.13123902,   -0.15841951,-0.076987229,0.065619509,   -0.12124904,-0.076987229,0.12124904,   -0.17147204,0.037506756,0.071026045,   -0.15841951,-0.076987229,0.065619509,   -0.13123902,0.037506756,0.13123902,   -0.1856,0.037506756,2.0548343e-017,   -0.15841951,-0.076987229,0.065619509,   -0.17147204,0.037506756,0.071026045,   -0.1856,0.037506756,2.0548343e-017,   -0.17147204,-0.076987229,1.8818167e-017,   -0.15841951,-0.076987229,0.065619509,   -0.1856,0.037506756,2.0548343e-017,   -0.15841951,-0.076987229,-0.065619509,   -0.17147204,-0.076987229,1.8818167e-017,   -0.17147204,0.037506756,-0.071026045,   -0.15841951,-0.076987229,-0.065619509,   -0.1856,0.037506756,2.0548343e-017,   -0.13123902,0.037506756,-0.13123902,   -0.15841951,-0.076987229,-0.065619509,   -0.17147204,0.037506756,-0.071026045,   -0.13123902,0.037506756,-0.13123902,   -0.12124904,-0.076987229,-0.12124904,   -0.15841951,-0.076987229,-0.065619509,   -0.13123902,0.037506756,-0.13123902,   -0.065619509,-0.076987229,-0.15841951,   -0.12124904,-0.076987229,-0.12124904,   -0.071026045,0.037506756,-0.17147204,   -0.065619509,-0.076987229,-0.15841951,   -0.13123902,0.037506756,-0.13123902,   -6.9784915e-017,0.037506756,-0.1856,   -0.065619509,-0.076987229,-0.15841951,   -0.071026045,0.037506756,-0.17147204,   -6.9784915e-017,0.037506756,-0.1856,   -6.7189652e-017,-0.076987229,-0.17147204,   -0.065619509,-0.076987229,-0.15841951,   -6.9784915e-017,0.037506756,-0.1856,   0.065619509,-0.076987229,-0.15841951,   -6.7189652e-017,-0.076987229,-0.17147204,   0.071026045,0.037506756,-0.17147204,   0.065619509,-0.076987229,-0.15841951,   -6.9784915e-017,0.037506756,-0.1856,   0.13123902,0.037506756,-0.13123902,   0.065619509,-0.076987229,-0.15841951,   0.071026045,0.037506756,-0.17147204,   0.13123902,0.037506756,-0.13123902,   0.12124904,-0.076987229,-0.12124904,   0.065619509,-0.076987229,-0.15841951,   0.13123902,0.037506756,-0.13123902,   0.15841951,-0.076987229,-0.065619509,   0.12124904,-0.076987229,-0.12124904,   0.17147204,0.037506756,-0.071026045,   0.15841951,-0.076987229,-0.065619509,   0.13123902,0.037506756,-0.13123902,   0.17147204,-0.076987229,-2.1811013e-018,   0.15841951,-0.076987229,-0.065619509,   0.1856,0.037506756,-2.1811013e-018,   0.17147204,-0.076987229,-2.1811013e-018,   0.13123902,-0.17405054,-2.1811013e-018,   0.15841951,-0.076987229,-0.065619509,   0.15841951,-0.076987229,0.065619509,   0.13123902,-0.17405054,-2.1811013e-018,   0.17147204,-0.076987229,-2.1811013e-018,   0.15841951,-0.076987229,0.065619509,   0.12124904,-0.17405054,0.050222998,   0.13123902,-0.17405054,-2.1811013e-018,   0.15841951,-0.076987229,0.065619509,   0.0928,-0.17405054,0.0928,   0.12124904,-0.17405054,0.050222998,   0.12124904,-0.076987229,0.12124904,   0.0928,-0.17405054,0.0928,   0.15841951,-0.076987229,0.065619509,   0.065619509,-0.076987229,0.15841951,   0.0928,-0.17405054,0.0928,   0.12124904,-0.076987229,0.12124904,   0.065619509,-0.076987229,0.15841951,   0.050222998,-0.17405054,0.12124904,   0.0928,-0.17405054,0.0928,   0.065619509,-0.076987229,0.15841951,   -2.7654676e-017,-0.17405054,0.13123902,   0.050222998,-0.17405054,0.12124904,   -2.5191114e-017,-0.076987229,0.17147204,   -2.7654676e-017,-0.17405054,0.13123902,   0.065619509,-0.076987229,0.15841951,   -0.065619509,-0.076987229,0.15841951,   -2.7654676e-017,-0.17405054,0.13123902,   -2.5191114e-017,-0.076987229,0.17147204,   -0.065619509,-0.076987229,0.15841951,   -0.050222998,-0.17405054,0.12124904,   -2.7654676e-017,-0.17405054,0.13123902,   -0.065619509,-0.076987229,0.15841951,   -0.0928,-0.17405054,0.0928,   -0.050222998,-0.17405054,0.12124904,   -0.12124904,-0.076987229,0.12124904,   -0.0928,-0.17405054,0.0928,   -0.065619509,-0.076987229,0.15841951,   -0.15841951,-0.076987229,0.065619509,   -0.0928,-0.17405054,0.0928,   -0.12124904,-0.076987229,0.12124904,   -0.15841951,-0.076987229,0.065619509,   -0.12124904,-0.17405054,0.050222998,   -0.0928,-0.17405054,0.0928,   -0.15841951,-0.076987229,0.065619509,   -0.13123902,-0.17405054,1.3891043e-017,   -0.12124904,-0.17405054,0.050222998,   -0.17147204,-0.076987229,1.8818167e-017,   -0.13123902,-0.17405054,1.3891043e-017,   -0.15841951,-0.076987229,0.065619509,   -0.15841951,-0.076987229,-0.065619509,   -0.13123902,-0.17405054,1.3891043e-017,   -0.17147204,-0.076987229,1.8818167e-017,   -0.15841951,-0.076987229,-0.065619509,   -0.12124904,-0.17405054,-0.050222998,   -0.13123902,-0.17405054,1.3891043e-017,   -0.15841951,-0.076987229,-0.065619509,   -0.0928,-0.17405054,-0.0928,   -0.12124904,-0.17405054,-0.050222998,   -0.12124904,-0.076987229,-0.12124904,   -0.0928,-0.17405054,-0.0928,   -0.15841951,-0.076987229,-0.065619509,   -0.065619509,-0.076987229,-0.15841951,   -0.0928,-0.17405054,-0.0928,   -0.12124904,-0.076987229,-0.12124904,   -0.065619509,-0.076987229,-0.15841951,   -0.050222998,-0.17405054,-0.12124904,   -0.0928,-0.17405054,-0.0928,   -0.065619509,-0.076987229,-0.15841951,   -5.9798965e-017,-0.17405054,-0.13123902,   -0.050222998,-0.17405054,-0.12124904,   -6.7189652e-017,-0.076987229,-0.17147204,   -5.9798965e-017,-0.17405054,-0.13123902,   -0.065619509,-0.076987229,-0.15841951,   0.065619509,-0.076987229,-0.15841951,   -5.9798965e-017,-0.17405054,-0.13123902,   -6.7189652e-017,-0.076987229,-0.17147204,   0.065619509,-0.076987229,-0.15841951,   0.050222998,-0.17405054,-0.12124904,   -5.9798965e-017,-0.17405054,-0.13123902,   0.065619509,-0.076987229,-0.15841951,   0.0928,-0.17405054,-0.0928,   0.050222998,-0.17405054,-0.12124904,   0.12124904,-0.076987229,-0.12124904,   0.0928,-0.17405054,-0.0928,   0.065619509,-0.076987229,-0.15841951,   0.15841951,-0.076987229,-0.065619509,   0.0928,-0.17405054,-0.0928,   0.12124904,-0.076987229,-0.12124904,   0.15841951,-0.076987229,-0.065619509,   0.12124904,-0.17405054,-0.050222998,   0.0928,-0.17405054,-0.0928,   0.13123902,-0.17405054,-2.1811013e-018,   0.12124904,-0.17405054,-0.050222998,   0.15841951,-0.076987229,-0.065619509,   0.13123902,-0.17405054,-2.1811013e-018,   0.065619509,-0.22265133,0.027180491,   0.071026045,-0.22265133,-2.1811013e-018,   0.13123902,-0.17405054,-2.1811013e-018,   0.065619509,-0.22265133,-0.027180491,   0.12124904,-0.17405054,-0.050222998,   0.12124904,-0.17405054,0.050222998,   0.065619509,-0.22265133,0.027180491,   0.13123902,-0.17405054,-2.1811013e-018,   0.0928,-0.17405054,0.0928,   0.065619509,-0.22265133,0.027180491,   0.12124904,-0.17405054,0.050222998,   0.0928,-0.17405054,0.0928,   0.050222998,-0.22265133,0.050222998,   0.065619509,-0.22265133,0.027180491,   0.0928,-0.17405054,0.0928,   0.027180491,-0.22265133,0.065619509,   0.050222998,-0.22265133,0.050222998,   0.050222998,-0.17405054,0.12124904,   0.027180491,-0.22265133,0.065619509,   0.0928,-0.17405054,0.0928,   -2.7654676e-017,-0.17405054,0.13123902,   0.027180491,-0.22265133,0.065619509,   0.050222998,-0.17405054,0.12124904,   -2.7654676e-017,-0.17405054,0.13123902,   -3.1341658e-017,-0.22265133,0.071026045,   0.027180491,-0.22265133,0.065619509,   -2.7654676e-017,-0.17405054,0.13123902,   -0.027180491,-0.22265133,0.065619509,   -3.1341658e-017,-0.22265133,0.071026045,   -0.050222998,-0.17405054,0.12124904,   -0.027180491,-0.22265133,0.065619509,   -2.7654676e-017,-0.17405054,0.13123902,   -0.0928,-0.17405054,0.0928,   -0.027180491,-0.22265133,0.065619509,   -0.050222998,-0.17405054,0.12124904,   -0.0928,-0.17405054,0.0928,   -0.050222998,-0.22265133,0.050222998,   -0.027180491,-0.22265133,0.065619509,   -0.0928,-0.17405054,0.0928,   -0.065619509,-0.22265133,0.027180491,   -0.050222998,-0.22265133,0.050222998,   -0.12124904,-0.17405054,0.050222998,   -0.065619509,-0.22265133,0.027180491,   -0.0928,-0.17405054,0.0928,   -0.13123902,-0.17405054,1.3891043e-017,   -0.065619509,-0.22265133,0.027180491,   -0.12124904,-0.17405054,0.050222998,   -0.13123902,-0.17405054,1.3891043e-017,   -0.071026045,-0.22265133,6.5170806e-018,   -0.065619509,-0.22265133,0.027180491,   -0.13123902,-0.17405054,1.3891043e-017,   -0.065619509,-0.22265133,-0.027180491,   -0.071026045,-0.22265133,6.5170806e-018,   -0.12124904,-0.17405054,-0.050222998,   -0.065619509,-0.22265133,-0.027180491,   -0.13123902,-0.17405054,1.3891043e-017,   -0.0928,-0.17405054,-0.0928,   -0.065619509,-0.22265133,-0.027180491,   -0.12124904,-0.17405054,-0.050222998,   -0.0928,-0.17405054,-0.0928,   -0.050222998,-0.22265133,-0.050222998,   -0.065619509,-0.22265133,-0.027180491,   -0.0928,-0.17405054,-0.0928,   -0.027180491,-0.22265133,-0.065619509,   -0.050222998,-0.22265133,-0.050222998,   -0.050222998,-0.17405054,-0.12124904,   -0.027180491,-0.22265133,-0.065619509,   -0.0928,-0.17405054,-0.0928,   -5.9798965e-017,-0.17405054,-0.13123902,   -0.027180491,-0.22265133,-0.065619509,   -0.050222998,-0.17405054,-0.12124904,   -5.9798965e-017,-0.17405054,-0.13123902,   -4.8738021e-017,-0.22265133,-0.071026045,   -0.027180491,-0.22265133,-0.065619509,   -5.9798965e-017,-0.17405054,-0.13123902,   0.027180491,-0.22265133,-0.065619509,   -4.8738021e-017,-0.22265133,-0.071026045,   0.050222998,-0.17405054,-0.12124904,   0.027180491,-0.22265133,-0.065619509,   -5.9798965e-017,-0.17405054,-0.13123902,   0.0928,-0.17405054,-0.0928,   0.027180491,-0.22265133,-0.065619509,   0.050222998,-0.17405054,-0.12124904,   0.0928,-0.17405054,-0.0928,   0.050222998,-0.22265133,-0.050222998,   0.027180491,-0.22265133,-0.065619509,   0.0928,-0.17405054,-0.0928,   0.065619509,-0.22265133,-0.027180491,   0.050222998,-0.22265133,-0.050222998,   0.12124904,-0.17405054,-0.050222998,   0.065619509,-0.22265133,-0.027180491,   0.0928,-0.17405054,-0.0928,   0.071026045,-0.22265133,-2.1811013e-018,   0.065619509,-0.22265133,-0.027180491,   0.13123902,-0.17405054,-2.1811013e-018,   0.071026045,-0.22265133,-2.1811013e-018,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   0.065619509,-0.22265133,-0.027180491,   0.065619509,-0.22265133,0.027180491,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   0.071026045,-0.22265133,-2.1811013e-018,   0.050222998,-0.22265133,0.050222998,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   0.065619509,-0.22265133,0.027180491,   0.027180491,-0.22265133,0.065619509,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   0.050222998,-0.22265133,0.050222998,   -3.1341658e-017,-0.22265133,0.071026045,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   0.027180491,-0.22265133,0.065619509,   -0.027180491,-0.22265133,0.065619509,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -3.1341658e-017,-0.22265133,0.071026045,   -0.050222998,-0.22265133,0.050222998,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -0.027180491,-0.22265133,0.065619509,   -0.065619509,-0.22265133,0.027180491,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -0.050222998,-0.22265133,0.050222998,   -0.071026045,-0.22265133,6.5170806e-018,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -0.065619509,-0.22265133,0.027180491,   -0.065619509,-0.22265133,-0.027180491,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -0.071026045,-0.22265133,6.5170806e-018,   -0.050222998,-0.22265133,-0.050222998,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -0.065619509,-0.22265133,-0.027180491,   -0.027180491,-0.22265133,-0.065619509,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -0.050222998,-0.22265133,-0.050222998,   -4.8738021e-017,-0.22265133,-0.071026045,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -0.027180491,-0.22265133,-0.065619509,   0.027180491,-0.22265133,-0.065619509,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   -4.8738021e-017,-0.22265133,-0.071026045,   0.050222998,-0.22265133,-0.050222998,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   0.027180491,-0.22265133,-0.065619509,   0.065619509,-0.22265133,-0.027180491,   -3.5690749e-017,-0.24542559,-2.1811013e-018,   0.050222998,-0.22265133,-0.050222998,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0.61840762,0.53439169,   0.61705267,0.54120346,   0.61705267,0.52757992,   0.44753904,0.19192826,   0.25176752,0.19192826,   0.44753904,0.18498305,   0.61705267,0.52757992,   0.61705267,0.54120346,   0.61319412,0.52180519,   0.44753904,0.19887348,   0.25176752,0.19192826,   0.44753904,0.19192826,   0.44753904,0.19887348,   0.25176752,0.19887348,   0.25176752,0.19192826,   0.44753904,0.19887348,   0.25176752,0.20581869,   0.25176752,0.19887348,   0.61319412,0.52180519,   0.61319412,0.54697819,   0.60741938,0.51794663,   0.61319412,0.52180519,   0.61705267,0.54120346,   0.61319412,0.54697819,   0.44753904,0.20581869,   0.25176752,0.20581869,   0.44753904,0.19887348,   0.60741938,0.51794663,   0.60741938,0.55083675,   0.60060762,0.51659169,   0.60741938,0.51794663,   0.61319412,0.54697819,   0.60741938,0.55083675,   0.44753904,0.21276391,   0.25176752,0.20581869,   0.44753904,0.20581869,   0.44753904,0.21276391,   0.25176752,0.21276391,   0.25176752,0.20581869,   0.44753904,0.21276391,   0.25176752,0.21970913,   0.25176752,0.21276391,   0.60060762,0.51659169,   0.60060762,0.55219169,   0.59379585,0.51794663,   0.60060762,0.51659169,   0.60741938,0.55083675,   0.60060762,0.55219169,   0.44753904,0.21970913,   0.25176752,0.21970913,   0.44753904,0.21276391,   0.59379585,0.51794663,   0.59379585,0.55083675,   0.58802112,0.52180519,   0.58802112,0.52180519,   0.59379585,0.55083675,   0.58802112,0.54697819,   0.59379585,0.51794663,   0.60060762,0.55219169,   0.59379585,0.55083675,   0.44753904,0.22665434,   0.25176752,0.21970913,   0.44753904,0.21970913,   0.44753904,0.22665434,   0.25176752,0.22665434,   0.25176752,0.21970913,   0.44753904,0.22665434,   0.25176752,0.23359956,   0.25176752,0.22665434,   0.58802112,0.52180519,   0.58802112,0.54697819,   0.58416256,0.52757992,   0.44753904,0.23359956,   0.25176752,0.23359956,   0.44753904,0.22665434,   0.58416256,0.52757992,   0.58416256,0.54120346,   0.58280762,0.53439169,   0.58416256,0.52757992,   0.58802112,0.54697819,   0.58416256,0.54120346,   0.44753904,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19192826,   0.44753904,0.19887347,   0.25176752,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19887347,   0.25176752,0.20581869,   0.25176752,0.19887347,   0.44753904,0.20581869,   0.25176752,0.20581869,   0.44753904,0.19887347,   0.44753904,0.2127639,   0.25176752,0.20581869,   0.44753904,0.20581869,   0.44753904,0.2127639,   0.25176752,0.2127639,   0.25176752,0.20581869,   0.44753904,0.2127639,   0.25176752,0.21970912,   0.25176752,0.2127639,   0.44753904,0.21970912,   0.25176752,0.21970912,   0.44753904,0.2127639,   0.44753904,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19192826,   0.44753904,0.19887347,   0.25176752,0.19887347,   0.25176752,0.19192826,   0.44753904,0.19887347,   0.25176752,0.20581869,   0.25176752,0.19887347,   0.44753904,0.20581869,   0.25176752,0.20581869,   0.44753904,0.19887347,   0.44753904,0.2127639,   0.25176752,0.20581869,   0.44753904,0.20581869,   0.44753904,0.2127639,   0.25176752,0.2127639,   0.25176752,0.20581869,   0.44753904,0.2127639,   0.25176752,0.21970912,   0.25176752,0.2127639,   0.44753904,0.21970912,   0.25176752,0.21970912,   0.44753904,0.2127639,   0.44753904,0.18498305,   0.25176752,0.17803783,   0.44753904,0.17803783,   0.44753904,0.18498305,   0.25176752,0.18498305,   0.25176752,0.17803783,   0.25176752,0.19192826,   0.25176752,0.18498305,   0.44753904,0.18498305,   0.82508346,0.34493548,   0.82508346,0.35855901,   0.82372851,0.35174724,   0.82894201,0.33916074,   0.82894201,0.36433374,   0.82508346,0.34493548,   0.83471675,0.33530219,   0.83471675,0.3681923,   0.82894201,0.33916074,   0.84152851,0.33394724,   0.84152851,0.36954724,   0.83471675,0.33530219,   0.84152851,0.36954724,   0.83471675,0.3681923,   0.83471675,0.33530219,   0.84834028,0.33530219,   0.84834028,0.3681923,   0.84152851,0.33394724,   0.85411502,0.33916074,   0.85411502,0.36433374,   0.84834028,0.33530219,   0.85411502,0.36433374,   0.84834028,0.3681923,   0.84834028,0.33530219,   0.85797357,0.34493548,   0.85797357,0.35855901,   0.85411502,0.33916074,   0.85932851,0.35174724,   0.85797357,0.35855901,   0.85797357,0.34493548,   0.85797357,0.35855901,   0.85411502,0.36433374,   0.85411502,0.33916074,   0.84834028,0.3681923,   0.84152851,0.36954724,   0.84152851,0.33394724,   0.83471675,0.3681923,   0.82894201,0.36433374,   0.82894201,0.33916074,   0.82894201,0.36433374,   0.82508346,0.35855901,   0.82508346,0.34493548,   0.69647393,0.94655254,   0.75886466,0.87319156,   0.71832119,0.94655254,   0.69647393,0.94655254,   0.63474982,0.99807288,   0.67167514,0.94655254,   0.67167514,0.94655254,   0.75886466,0.87319156,   0.69647393,0.94655254,   0.67167514,0.94655254,   0.72081993,0.87319156,   0.75886466,0.87319156,   0.67167514,0.94655254,   0.68258438,0.87319156,   0.72081993,0.87319156,   0.67167514,0.94655254,   0.6190637,0.99107142,   0.64463275,0.94655254,   0.64463275,0.94655254,   0.68258438,0.87319156,   0.67167514,0.94655254,   0.64463275,0.94655254,   0.60097156,0.98553187,   0.61595449,0.94655254,   0.61595449,0.94655254,   0.68258438,0.87319156,   0.64463275,0.94655254,   0.61595449,0.94655254,   0.64418163,0.87319156,   0.68258438,0.87319156,   0.61595449,0.94655254,   0.60561381,0.87319156,   0.64418163,0.87319156,   0.61595449,0.94655254,   0.5808086,0.98202248,   0.58586785,0.94655254,   0.58586785,0.94655254,   0.60561381,0.87319156,   0.61595449,0.94655254,   0.58586785,0.94655254,   0.55871849,0.98091334,   0.55459223,0.94655254,   0.55459223,0.94655254,   0.60561381,0.87319156,   0.58586785,0.94655254,   0.55459223,0.94655254,   0.56682798,0.87319156,   0.60561381,0.87319156,   0.55459223,0.94655254,   0.52783221,0.87319156,   0.56682798,0.87319156,   0.55459223,0.94655254,   0.53489502,0.98197441,   0.5221988,0.94655254,   0.5221988,0.94655254,   0.52783221,0.87319156,   0.55459223,0.94655254,   0.5221988,0.94655254,   0.50928954,0.9857555,   0.48865469,0.94655254,   0.48865469,0.94655254,   0.52783221,0.87319156,   0.5221988,0.94655254,   0.48865469,0.94655254,   0.48865469,0.87319156,   0.52783221,0.87319156,   0.48865469,0.94655254,   0.44947716,0.87319156,   0.48865469,0.87319156,   0.48865469,0.94655254,   0.46801984,0.9857555,   0.45511058,0.94655254,   0.45511058,0.94655254,   0.44947716,0.87319156,   0.48865469,0.94655254,   0.45511058,0.94655254,   0.44241434,0.98197441,   0.42271714,0.94655254,   0.42271714,0.94655254,   0.44947716,0.87319156,   0.45511058,0.94655254,   0.42271714,0.94655254,   0.41048139,0.87319156,   0.44947716,0.87319156,   0.42271714,0.94655254,   0.37169556,0.87319156,   0.41048139,0.87319156,   0.42271714,0.94655254,   0.4185909,0.98091334,   0.39144152,0.94655254,   0.39144152,0.94655254,   0.37169556,0.87319156,   0.42271714,0.94655254,   0.39144152,0.94655254,   0.39650076,0.98202248,   0.36135488,0.94655254,   0.36135488,0.94655254,   0.37169556,0.87319156,   0.39144152,0.94655254,   0.36135488,0.94655254,   0.33312775,0.87319156,   0.37169556,0.87319156,   0.36135488,0.94655254,   0.29472499,0.87319156,   0.33312775,0.87319156,   0.36135488,0.94655254,   0.37633783,0.98553186,   0.33267662,0.94655254,   0.33267662,0.94655254,   0.29472499,0.87319156,   0.36135488,0.94655254,   0.33267662,0.94655254,   0.35824565,0.99107143,   0.30563423,0.94655254,   0.30563423,0.94655254,   0.29472499,0.87319156,   0.33267662,0.94655254,   0.30563423,0.94655254,   0.25648944,0.87319156,   0.29472499,0.87319156,   0.30563423,0.94655254,   0.21844471,0.87319156,   0.25648944,0.87319156,   0.30563423,0.94655254,   0.34255958,0.99807286,   0.28083544,0.94655254,   0.28083544,0.94655254,   0.21844471,0.87319156,   0.30563423,0.94655254,   0.28083544,0.94655254,   0.33057252,1.00599943,   0.25898819,0.94655254,   0.25898819,0.94655254,   0.21844471,0.87319156,   0.28083544,0.94655254,   0.25898819,0.94655254,   0.18086972,0.87319155,   0.21844471,0.87319156,   0.71832119,0.94655254,   0.64673683,1.00599941,   0.69647393,0.94655254,   0.75886466,0.87319156,   0.79643966,0.87319156,   0.71832119,0.94655254,   0.75886466,0.87319156,   0.76063077,0.7761601,   0.81014554,0.7761601,   0.75886466,0.87319156,   0.86251781,0.7761601,   0.79643966,0.87319156,   0.72081993,0.87319156,   0.76063077,0.7761601,   0.75886466,0.87319156,   0.68258438,0.87319156,   0.76063077,0.7761601,   0.72081993,0.87319156,   0.68258438,0.87319156,   0.71324045,0.7761601,   0.76063077,0.7761601,   0.68258438,0.87319156,   0.66724769,0.7761601,   0.71324045,0.7761601,   0.64418163,0.87319156,   0.66724769,0.7761601,   0.68258438,0.87319156,   0.60561381,0.87319156,   0.66724769,0.7761601,   0.64418163,0.87319156,   0.60561381,0.87319156,   0.62217874,0.7761601,   0.66724769,0.7761601,   0.60561381,0.87319156,   0.57755196,0.7761601,   0.62217874,0.7761601,   0.56682798,0.87319156,   0.57755196,0.7761601,   0.60561381,0.87319156,   0.52783221,0.87319156,   0.57755196,0.7761601,   0.56682798,0.87319156,   0.52783221,0.87319156,   0.53306431,0.7761601,   0.57755196,0.7761601,   0.52783221,0.87319156,   0.48865469,0.7761601,   0.53306431,0.7761601,   0.48865469,0.87319156,   0.48865469,0.7761601,   0.52783221,0.87319156,   0.44947716,0.87319156,   0.48865469,0.7761601,   0.48865469,0.87319156,   0.44947716,0.87319156,   0.44424507,0.7761601,   0.48865469,0.7761601,   0.44947716,0.87319156,   0.39975741,0.7761601,   0.44424507,0.7761601,   0.41048139,0.87319156,   0.39975741,0.7761601,   0.44947716,0.87319156,   0.37169556,0.87319156,   0.39975741,0.7761601,   0.41048139,0.87319156,   0.37169556,0.87319156,   0.35513063,0.7761601,   0.39975741,0.7761601,   0.37169556,0.87319156,   0.31006169,0.7761601,   0.35513063,0.7761601,   0.33312775,0.87319156,   0.31006169,0.7761601,   0.37169556,0.87319156,   0.29472499,0.87319156,   0.31006169,0.7761601,   0.33312775,0.87319156,   0.29472499,0.87319156,   0.26406892,0.7761601,   0.31006169,0.7761601,   0.29472499,0.87319156,   0.2166786,0.7761601,   0.26406892,0.7761601,   0.25648944,0.87319156,   0.2166786,0.7761601,   0.29472499,0.87319156,   0.21844471,0.87319156,   0.2166786,0.7761601,   0.25648944,0.87319156,   0.21844471,0.87319156,   0.16716383,0.7761601,   0.2166786,0.7761601,   0.21844471,0.87319156,   0.11479157,0.7761601,   0.16716383,0.7761601,   0.18086972,0.87319155,   0.11479157,0.7761601,   0.21844471,0.87319156,   0.81014554,0.7761601,   0.86251781,0.7761601,   0.75886466,0.87319156,   0.81014554,0.7761601,   0.84266568,0.67046677,   0.86251781,0.7761601,   0.76063077,0.7761601,   0.84266568,0.67046677,   0.81014554,0.7761601,   0.76063077,0.7761601,   0.78618012,0.67046677,   0.84266568,0.67046677,   0.76063077,0.7761601,   0.7335797,0.67046677,   0.78618012,0.67046677,   0.71324045,0.7761601,   0.7335797,0.67046677,   0.76063077,0.7761601,   0.66724769,0.7761601,   0.7335797,0.67046677,   0.71324045,0.7761601,   0.66724769,0.7761601,   0.68327389,0.67046677,   0.7335797,0.67046677,   0.66724769,0.7761601,   0.63418383,0.67046677,   0.68327389,0.67046677,   0.62217874,0.7761601,   0.63418383,0.67046677,   0.66724769,0.7761601,   0.57755196,0.7761601,   0.63418383,0.67046677,   0.62217874,0.7761601,   0.57755196,0.7761601,   0.58561474,0.67046677,   0.63418383,0.67046677,   0.57755196,0.7761601,   0.53712915,0.67046678,   0.58561474,0.67046677,   0.53306431,0.7761601,   0.53712915,0.67046678,   0.57755196,0.7761601,   0.48865469,0.7761601,   0.53712915,0.67046678,   0.53306431,0.7761601,   0.48865469,0.7761601,   0.48865469,0.67046678,   0.53712915,0.67046678,   0.48865469,0.7761601,   0.44018022,0.67046678,   0.48865469,0.67046678,   0.44424507,0.7761601,   0.44018022,0.67046678,   0.48865469,0.7761601,   0.39975741,0.7761601,   0.44018022,0.67046678,   0.44424507,0.7761601,   0.39975741,0.7761601,   0.39169463,0.67046678,   0.44018022,0.67046678,   0.39975741,0.7761601,   0.34312555,0.67046678,   0.39169463,0.67046678,   0.35513063,0.7761601,   0.34312555,0.67046678,   0.39975741,0.7761601,   0.31006169,0.7761601,   0.34312555,0.67046678,   0.35513063,0.7761601,   0.31006169,0.7761601,   0.29403548,0.67046678,   0.34312555,0.67046678,   0.31006169,0.7761601,   0.24372968,0.67046678,   0.29403548,0.67046678,   0.26406892,0.7761601,   0.24372968,0.67046678,   0.31006169,0.7761601,   0.2166786,0.7761601,   0.24372968,0.67046678,   0.26406892,0.7761601,   0.2166786,0.7761601,   0.19112925,0.67046678,   0.24372968,0.67046678,   0.2166786,0.7761601,   0.1346437,0.67046678,   0.19112925,0.67046678,   0.16716383,0.7761601,   0.1346437,0.67046678,   0.2166786,0.7761601,   0.11479157,0.7761601,   0.1346437,0.67046678,   0.16716383,0.7761601,   0.11479157,0.7761601,   0.071592505,0.67046678,   0.1346437,0.67046678,   0.84266568,0.67046677,   0.90571687,0.67046677,   0.86251781,0.7761601,   0.84266568,0.67046677,   0.80024957,0.56001899,   0.85651769,0.56001899,   0.84266568,0.67046677,   0.91779901,0.56001899,   0.90571687,0.67046677,   0.78618012,0.67046677,   0.80024957,0.56001899,   0.84266568,0.67046677,   0.7335797,0.67046677,   0.80024957,0.56001899,   0.78618012,0.67046677,   0.7335797,0.67046677,   0.74698157,0.56001899,   0.80024957,0.56001899,   0.7335797,0.67046677,   0.6953124,0.56001899,   0.74698157,0.56001899,   0.68327389,0.67046677,   0.6953124,0.56001899,   0.7335797,0.67046677,   0.63418383,0.67046677,   0.6953124,0.56001899,   0.68327389,0.67046677,   0.63418383,0.67046677,   0.6442054,0.56001899,   0.6953124,0.56001899,   0.63418383,0.67046677,   0.59291331,0.56001899,   0.6442054,0.56001899,   0.58561474,0.67046677,   0.59291331,0.56001899,   0.63418383,0.67046677,   0.53712915,0.67046678,   0.59291331,0.56001899,   0.58561474,0.67046677,   0.53712915,0.67046678,   0.54107387,0.56001899,   0.59291331,0.56001899,   0.53712915,0.67046678,   0.48865468,0.56001899,   0.54107387,0.56001899,   0.48865469,0.67046678,   0.48865468,0.56001899,   0.53712915,0.67046678,   0.44018022,0.67046678,   0.48865468,0.56001899,   0.48865469,0.67046678,   0.44018022,0.67046678,   0.4362355,0.56001899,   0.48865468,0.56001899,   0.44018022,0.67046678,   0.38439606,0.56001899,   0.4362355,0.56001899,   0.39169463,0.67046678,   0.38439606,0.56001899,   0.44018022,0.67046678,   0.34312555,0.67046678,   0.38439606,0.56001899,   0.39169463,0.67046678,   0.34312555,0.67046678,   0.33310398,0.56001899,   0.38439606,0.56001899,   0.34312555,0.67046678,   0.28199698,0.56001899,   0.33310398,0.56001899,   0.29403548,0.67046678,   0.28199698,0.56001899,   0.34312555,0.67046678,   0.24372968,0.67046678,   0.28199698,0.56001899,   0.29403548,0.67046678,   0.24372968,0.67046678,   0.2303278,0.56001899,   0.28199698,0.56001899,   0.24372968,0.67046678,   0.17705981,0.56001899,   0.2303278,0.56001899,   0.19112925,0.67046678,   0.17705981,0.56001899,   0.24372968,0.67046678,   0.1346437,0.67046678,   0.17705981,0.56001899,   0.19112925,0.67046678,   0.1346437,0.67046678,   0.12079168,0.56001899,   0.17705981,0.56001899,   0.1346437,0.67046678,   0.059510376,0.56001899,   0.12079168,0.56001899,   0.071592505,0.67046678,   0.059510376,0.56001899,   0.1346437,0.67046678,   0.85651769,0.56001899,   0.91779901,0.56001899,   0.84266568,0.67046677,   0.85651769,0.56001899,   0.85693278,0.45795642,   0.91779901,0.56001899,   0.80024957,0.56001899,   0.85693278,0.45795642,   0.85651769,0.56001899,   0.80024957,0.56001899,   0.80684273,0.45795642,   0.85693278,0.45795642,   0.80024957,0.56001899,   0.75693081,0.45795641,   0.80684273,0.45795642,   0.74698157,0.56001899,   0.75693081,0.45795641,   0.80024957,0.56001899,   0.6953124,0.56001899,   0.75693081,0.45795641,   0.74698157,0.56001899,   0.6953124,0.56001899,   0.70654887,0.45795641,   0.75693081,0.45795641,   0.6953124,0.56001899,   0.65535627,0.45795641,   0.70654887,0.45795641,   0.6442054,0.56001899,   0.65535627,0.45795641,   0.6953124,0.56001899,   0.59291331,0.56001899,   0.65535627,0.45795641,   0.6442054,0.56001899,   0.59291331,0.56001899,   0.60234152,0.45795641,   0.65535627,0.45795641,   0.59291331,0.56001899,   0.54709445,0.45795641,   0.60234152,0.45795641,   0.54107387,0.56001899,   0.54709445,0.45795641,   0.59291331,0.56001899,   0.48865468,0.56001899,   0.54709445,0.45795641,   0.54107387,0.56001899,   0.48865468,0.56001899,   0.48865469,0.45795641,   0.54709445,0.45795641,   0.48865468,0.56001899,   0.4302149,0.4579564,   0.48865469,0.45795641,   0.4362355,0.56001899,   0.4302149,0.4579564,   0.48865468,0.56001899,   0.38439606,0.56001899,   0.4302149,0.4579564,   0.4362355,0.56001899,   0.38439606,0.56001899,   0.37496786,0.4579564,   0.4302149,0.4579564,   0.38439606,0.56001899,   0.32195311,0.4579564,   0.37496786,0.4579564,   0.33310398,0.56001899,   0.32195311,0.4579564,   0.38439606,0.56001899,   0.28199698,0.56001899,   0.32195311,0.4579564,   0.33310398,0.56001899,   0.28199698,0.56001899,   0.2707605,0.4579564,   0.32195311,0.4579564,   0.28199698,0.56001899,   0.22037856,0.4579564,   0.2707605,0.4579564,   0.2303278,0.56001899,   0.22037856,0.4579564,   0.28199698,0.56001899,   0.17705981,0.56001899,   0.22037856,0.4579564,   0.2303278,0.56001899,   0.17705981,0.56001899,   0.17046663,0.4579564,   0.22037856,0.4579564,   0.17705981,0.56001899,   0.12037663,0.45795639,   0.17046663,0.4579564,   0.12079168,0.56001899,   0.12037663,0.45795639,   0.17705981,0.56001899,   0.059510376,0.56001899,   0.12037663,0.45795639,   0.12079168,0.56001899,   0.059510376,0.56001899,   0.070228823,0.45795639,   0.12037663,0.45795639,   0.85693278,0.45795642,   0.90708053,0.45795642,   0.91779901,0.56001899,   0.85693278,0.45795642,   0.82199662,0.38250436,   0.84919307,0.38385446,   0.85693278,0.45795642,   0.89296828,0.38285837,   0.90708053,0.45795642,   0.80684273,0.45795642,   0.82199662,0.38250436,   0.85693278,0.45795642,   0.75693081,0.45795641,   0.80310571,0.38139168,   0.80684273,0.45795642,   0.75693081,0.45795641,   0.77619885,0.37859741,   0.80310571,0.38139168,   0.75693081,0.45795641,   0.72792485,0.37125113,   0.75518378,0.374797,   0.70654887,0.45795641,   0.72792485,0.37125113,   0.75693081,0.45795641,   0.65535627,0.45795641,   0.70592598,0.36647373,   0.70654887,0.45795641,   0.65535627,0.45795641,   0.67818786,0.36245149,   0.70592598,0.36647373,   0.65535627,0.45795641,   0.62714796,0.35137963,   0.65589456,0.35595595,   0.60234152,0.45795641,   0.62714796,0.35137963,   0.65535627,0.45795641,   0.54709445,0.45795641,   0.60067338,0.3449307,   0.60234152,0.45795641,   0.54709445,0.45795641,   0.57086482,0.34094282,   0.60067338,0.3449307,   0.54709445,0.45795641,   0.51074328,0.32952243,   0.54245419,0.33267348,   0.48865469,0.45795641,   0.51074328,0.32952243,   0.54709445,0.45795641,   0.4302149,0.4579564,   0.46656638,0.32952251,   0.48865469,0.45795641,   0.4302149,0.4579564,   0.4348549,0.33267337,   0.46656638,0.32952251,   0.4302149,0.4579564,   0.37663601,0.34493118,   0.40644448,0.34094235,   0.37496786,0.4579564,   0.37663601,0.34493118,   0.4302149,0.4579564,   0.32195311,0.4579564,   0.35016083,0.35138003,   0.37496786,0.4579564,   0.32195311,0.4579564,   0.32141542,0.35595561,   0.35016083,0.35138003,   0.32195311,0.4579564,   0.27138281,0.36647321,   0.29912214,0.36245196,   0.2707605,0.4579564,   0.27138281,0.36647321,   0.32195311,0.4579564,   0.22037856,0.4579564,   0.2493847,0.37125042,   0.2707605,0.4579564,   0.22037856,0.4579564,   0.22212535,0.3747977,   0.2493847,0.37125042,   0.22037856,0.4579564,   0.17420432,0.38139158,   0.20110988,0.37859758,   0.17046663,0.4579564,   0.17420432,0.38139158,   0.22037856,0.4579564,   0.12037663,0.45795639,   0.15531303,0.38250466,   0.17046663,0.4579564,   0.12037663,0.45795639,   0.12811605,0.38385414,   0.15531303,0.38250466,   0.12037663,0.45795639,   0.084340929,0.38285852,   0.11168619,0.38378728,   0.070228823,0.45795639,   0.084340929,0.38285852,   0.12037663,0.45795639,   0.86562334,0.38378742,   0.89296828,0.38285837,   0.85693278,0.45795642,   0.86562334,0.38378742,   0.87692441,0.31094667,   0.89296828,0.38285837,   0.82199662,0.38250436,   0.83919279,0.31126907,   0.84919307,0.38385446,   0.77619885,0.37859741,   0.79707636,0.3089041,   0.80310571,0.38139168,   0.72792485,0.37125113,   0.75093491,0.30094888,   0.75518378,0.374797,   0.67818786,0.36245149,   0.70267303,0.29107259,   0.70592598,0.36647373,   0.62714796,0.35137963,   0.65363307,0.27763999,   0.65589456,0.35595595,   0.57086482,0.34094282,   0.59626992,0.2641011,   0.60067338,0.3449307,   0.51074328,0.32952243,   0.53490917,0.24713356,   0.54245419,0.33267348,   0.4348549,0.33267337,   0.44239984,0.2471346,   0.46656638,0.32952251,   0.37663601,0.34493118,   0.38104115,0.26410093,   0.40644448,0.34094235,   0.32141542,0.35595561,   0.32367495,0.27763785,   0.35016083,0.35138003,   0.27138281,0.36647321,   0.27463456,0.29107476,   0.29912214,0.36245196,   0.22212535,0.3747977,   0.22637703,0.30094966,   0.2493847,0.37125042,   0.17420432,0.38139158,   0.18023255,0.30890174,   0.20110988,0.37859758,   0.12811605,0.38385414,   0.13811544,0.31127004,   0.15531303,0.38250466,   0.084340929,0.38285852,   0.10038548,0.31094724,   0.11168619,0.38378728,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-0.00453782273431179,0.999989704029412,0,   -0.00453782273431179,0.999989704029412,0,   -0.00453782273431179,0.999989704029412,0,   0.980775164337572,0.00445064486016523,-0.195090411806777,   0.980775164337572,0.00445064486016523,-0.195090411806777,   0.980775164337572,0.00445064486016523,-0.195090411806777,   -0.00453783896691178,0.999989703955751,0,   -0.00453783896691178,0.999989703955751,0,   -0.00453783896691178,0.999989703955751,0,   0.980775164337572,0.00445064486016523,0.195090411806777,   0.980775164337572,0.00445064486016523,0.195090411806777,   0.980775164337572,0.00445064486016523,0.195090411806777,   0.980775178538197,0.0044506475090987,0.195090340355736,   0.980775178538197,0.0044506475090987,0.195090340355736,   0.980775178538197,0.0044506475090987,0.195090340355736,   0.831461062795286,0.00377307683658746,0.555570216036208,   0.831461062795286,0.00377307683658746,0.555570216036208,   0.831461062795286,0.00377307683658746,0.555570216036208,   -0.0045377836269756,0.999989704206876,0,   -0.0045377836269756,0.999989704206876,0,   -0.0045377836269756,0.999989704206876,0,   -0.00453783896691177,0.999989703955751,0,   -0.00453783896691177,0.999989703955751,0,   -0.00453783896691177,0.999989703955751,0,   0.831461062946238,0.00377307682763593,0.555570215810355,   0.831461062946238,0.00377307682763593,0.555570215810355,   0.831461062946238,0.00377307682763593,0.555570215810355,   -0.0045378840169434,0.999989703751318,0,   -0.0045378840169434,0.999989703751318,0,   -0.0045378840169434,0.999989703751318,0,   -0.0045377836269756,0.999989704206876,0,   -0.0045377836269756,0.999989704206876,0,   -0.0045377836269756,0.999989704206876,0,   0.555564525681146,0.00252108935886468,0.831469603721704,   0.555564525681146,0.00252108935886468,0.831469603721704,   0.555564525681146,0.00252108935886468,0.831469603721704,   0.555564525530266,0.00252108935174108,0.831469603822539,   0.555564525530266,0.00252108935174108,0.831469603822539,   0.555564525530266,0.00252108935174108,0.831469603822539,   0.195088336315928,0.000885288935368095,0.980785275836146,   0.195088336315928,0.000885288935368095,0.980785275836146,   0.195088336315928,0.000885288935368095,0.980785275836146,   -0.00453781057607134,0.999989704084585,0,   -0.00453781057607134,0.999989704084585,0,   -0.00453781057607134,0.999989704084585,0,   -0.0045378840169434,0.999989703751318,0,   -0.0045378840169434,0.999989703751318,0,   -0.0045378840169434,0.999989703751318,0,   0.195088337844137,0.000885288887033798,0.980785275532213,   0.195088337844137,0.000885288887033798,0.980785275532213,   0.195088337844137,0.000885288887033798,0.980785275532213,   -0.00453787020924549,0.999989703813976,0,   -0.00453787020924549,0.999989703813976,0,   -0.00453787020924549,0.999989703813976,0,   -0.00453787020924549,0.999989703813976,0,   -0.00453787020924549,0.999989703813976,0,   -0.00453787020924549,0.999989703813976,0,   -0.00453781057607134,0.999989704084585,0,   -0.00453781057607134,0.999989704084585,0,   -0.00453781057607134,0.999989704084585,0,   -0.195088336253671,-0.00088528887981644,0.98078527584858,   -0.195088336253671,-0.00088528887981644,0.98078527584858,   -0.195088336253671,-0.00088528887981644,0.98078527584858,   -0.19508833734389,-0.000885288924205528,0.980785275631683,   -0.19508833734389,-0.000885288924205528,0.980785275631683,   -0.19508833734389,-0.000885288924205528,0.980785275631683,   -0.555564525530471,-0.00252108930666955,0.83146960382254,   -0.555564525530471,-0.00252108930666955,0.83146960382254,   -0.555564525530471,-0.00252108930666955,0.83146960382254,   -0.00453783896691177,0.999989703955751,0,   -0.00453783896691177,0.999989703955751,0,   -0.00453783896691177,0.999989703955751,0,   -0.555564525530471,-0.00252108930666955,0.831469603822539,   -0.555564525530471,-0.00252108930666955,0.831469603822539,   -0.555564525530471,-0.00252108930666955,0.831469603822539,   -0.00453782440883781,0.999989704021814,0,   -0.00453782440883781,0.999989704021814,0,   -0.00453782440883781,0.999989704021814,0,   -0.00453783896691177,0.999989703955751,0,   -0.00453783896691177,0.999989703955751,0,   -0.00453783896691177,0.999989703955751,0,   -0.831461062946588,-0.00377307675054529,0.555570215810355,   -0.831461062946588,-0.00377307675054529,0.555570215810355,   -0.831461062946588,-0.00377307675054529,0.555570215810355,   -0.831461064304374,-0.00377307684343553,0.555570213777676,   -0.831461064304374,-0.00377307684343553,0.555570213777676,   -0.831461064304374,-0.00377307684343553,0.555570213777676,   -0.980775164138318,-0.00445064744375367,0.195090412749541,   -0.980775164138318,-0.00445064744375367,0.195090412749541,   -0.980775164138318,-0.00445064744375367,0.195090412749541,   -0.98077517811216,-0.00445064496814094,0.195090342555518,   -0.98077517811216,-0.00445064496814094,0.195090342555518,   -0.98077517811216,-0.00445064496814094,0.195090342555518,   -0.98077517811216,-0.00445064496814094,-0.195090342555517,   -0.98077517811216,-0.00445064496814094,-0.195090342555517,   -0.98077517811216,-0.00445064496814094,-0.195090342555517,   -0.980775164138318,-0.00445064744375367,-0.195090412749541,   -0.980775164138318,-0.00445064744375367,-0.195090412749541,   -0.980775164138318,-0.00445064744375367,-0.195090412749541,   -0.831461064304374,-0.00377307684343553,-0.555570213777676,   -0.831461064304374,-0.00377307684343553,-0.555570213777676,   -0.831461064304374,-0.00377307684343553,-0.555570213777676,   -0.831461062946588,-0.00377307675054529,-0.555570215810355,   -0.831461062946588,-0.00377307675054529,-0.555570215810355,   -0.831461062946588,-0.00377307675054529,-0.555570215810355,   -0.555564525530471,-0.00252108930666955,-0.831469603822539,   -0.555564525530471,-0.00252108930666955,-0.831469603822539,   -0.555564525530471,-0.00252108930666955,-0.831469603822539,   -0.555564525530471,-0.00252108930666956,-0.831469603822539,   -0.555564525530471,-0.00252108930666956,-0.831469603822539,   -0.555564525530471,-0.00252108930666956,-0.831469603822539,   -0.19508833734389,-0.000885288924205527,-0.980785275631683,   -0.19508833734389,-0.000885288924205527,-0.980785275631683,   -0.19508833734389,-0.000885288924205527,-0.980785275631683,   -0.195088336253671,-0.00088528887981644,-0.98078527584858,   -0.195088336253671,-0.00088528887981644,-0.98078527584858,   -0.195088336253671,-0.00088528887981644,-0.98078527584858,   0.195088337844137,0.000885288887033798,-0.980785275532213,   0.195088337844137,0.000885288887033798,-0.980785275532213,   0.195088337844137,0.000885288887033798,-0.980785275532213,   0.195088336315928,0.000885288935368094,-0.980785275836146,   0.195088336315928,0.000885288935368094,-0.980785275836146,   0.195088336315928,0.000885288935368094,-0.980785275836146,   0.555564525530266,0.00252108935174108,-0.831469603822539,   0.555564525530266,0.00252108935174108,-0.831469603822539,   0.555564525530266,0.00252108935174108,-0.831469603822539,   0.555564525681146,0.00252108935886468,-0.831469603721704,   0.555564525681146,0.00252108935886468,-0.831469603721704,   0.555564525681146,0.00252108935886468,-0.831469603721704,   0.831461062946238,0.00377307682763593,-0.555570215810355,   0.831461062946238,0.00377307682763593,-0.555570215810355,   0.831461062946238,0.00377307682763593,-0.555570215810355,   0.831461062795286,0.00377307683658746,-0.555570216036208,   0.831461062795286,0.00377307683658746,-0.555570216036208,   0.831461062795286,0.00377307683658746,-0.555570216036208,   0.980775178538197,0.0044506475090987,-0.195090340355736,   0.980775178538197,0.0044506475090987,-0.195090340355736,   0.980775178538197,0.0044506475090987,-0.195090340355736,   0.00453524133026469,-0.999989715740155,0,   0.00453524133026469,-0.999989715740155,0,   0.00453524133026469,-0.999989715740155,0,   0.00453796854644008,-0.999989703367725,0,   0.00453796854644008,-0.999989703367725,0,   0.00453796854644008,-0.999989703367725,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453773717516903,-0.999989704417665,0,   0.00453773717516903,-0.999989704417665,0,   0.00453773717516903,-0.999989704417665,0,   0.00453773717516903,-0.999989704417665,0,   0.00453773717516903,-0.999989704417665,0,   0.00453773717516903,-0.999989704417665,0,   0.00453847122415697,-0.99998970108644,0,   0.00453847122415697,-0.99998970108644,0,   0.00453847122415697,-0.99998970108644,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453667275114226,-0.999989709247225,0,   0.00453667275114226,-0.999989709247225,0,   0.00453667275114226,-0.999989709247225,0,   0.00453892976756193,-0.999989699005227,0,   0.00453892976756193,-0.999989699005227,0,   0.00453892976756193,-0.999989699005227,0,   0.00453667275114226,-0.999989709247225,0,   0.00453667275114226,-0.999989709247225,0,   0.00453667275114226,-0.999989709247225,0,   0.00453847122415697,-0.99998970108644,0,   0.00453847122415697,-0.99998970108644,0,   0.00453847122415697,-0.99998970108644,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453787020924579,-0.999989703813976,0,   0.00453796854644008,-0.999989703367726,0,   0.00453796854644008,-0.999989703367726,0,   0.00453796854644008,-0.999989703367726,0,   0.852949898907319,0.493650865949391,-0.169662289567867,   0.852949898907319,0.493650865949391,-0.169662289567867,   0.852949898907319,0.493650865949391,-0.169662289567867,   0.594969430303541,0.794987683041385,0.11834678202964,   0.594969430303541,0.794987683041385,0.11834678202964,   0.594969430303541,0.794987683041385,0.11834678202964,   0.852949898907319,0.493650865949391,0.169662289567867,   0.852949898907319,0.493650865949391,0.169662289567867,   0.852949898907319,0.493650865949391,0.169662289567867,   0.852949898169036,0.493650850977916,0.169662336840592,   0.852949898169036,0.493650850977916,0.169662336840592,   0.852949898169036,0.493650850977916,0.169662336840592,   0.7230960078548,0.493650840686481,0.48315733556884,   0.7230960078548,0.493650840686481,0.48315733556884,   0.7230960078548,0.493650840686481,0.48315733556884,   0.504390727878012,0.794987683180421,0.337023110813065,   0.504390727878012,0.794987683180421,0.337023110813065,   0.504390727878012,0.794987683180421,0.337023110813065,   0.723096024396823,0.493650833159972,0.48315731850193,   0.723096024396823,0.493650833159972,0.48315731850193,   0.723096024396823,0.493650833159972,0.48315731850193,   0.337023110813065,0.794987683180421,0.504390727878013,   0.337023110813065,0.794987683180421,0.504390727878013,   0.337023110813065,0.794987683180421,0.504390727878013,   0.48315731850193,0.493650833159972,0.723096024396823,   0.48315731850193,0.493650833159972,0.723096024396823,   0.48315731850193,0.493650833159972,0.723096024396823,   0.48315733556884,0.493650840686481,0.7230960078548,   0.48315733556884,0.493650840686481,0.7230960078548,   0.48315733556884,0.493650840686481,0.7230960078548,   0.169662336840592,0.493650850977916,0.852949898169036,   0.169662336840592,0.493650850977916,0.852949898169036,   0.169662336840592,0.493650850977916,0.852949898169036,   0.11834678202964,0.794987683041384,0.594969430303541,   0.11834678202964,0.794987683041384,0.594969430303541,   0.11834678202964,0.794987683041384,0.594969430303541,   0.169662289567867,0.493650865949391,0.852949898907319,   0.169662289567867,0.493650865949391,0.852949898907319,   0.169662289567867,0.493650865949391,0.852949898907319,   -0.11834678202964,0.794987683041384,0.594969430303541,   -0.11834678202964,0.794987683041384,0.594969430303541,   -0.11834678202964,0.794987683041384,0.594969430303541,   -0.169662289567867,0.493650865949391,0.852949898907319,   -0.169662289567867,0.493650865949391,0.852949898907319,   -0.169662289567867,0.493650865949391,0.852949898907319,   -0.169662336840592,0.493650850977916,0.852949898169036,   -0.169662336840592,0.493650850977916,0.852949898169036,   -0.169662336840592,0.493650850977916,0.852949898169036,   -0.48315733556884,0.493650840686481,0.7230960078548,   -0.48315733556884,0.493650840686481,0.7230960078548,   -0.48315733556884,0.493650840686481,0.7230960078548,   -0.337023110813065,0.794987683180421,0.504390727878013,   -0.337023110813065,0.794987683180421,0.504390727878013,   -0.337023110813065,0.794987683180421,0.504390727878013,   -0.48315731850193,0.493650833159972,0.723096024396823,   -0.48315731850193,0.493650833159972,0.723096024396823,   -0.48315731850193,0.493650833159972,0.723096024396823,   -0.504390727878013,0.794987683180421,0.337023110813065,   -0.504390727878013,0.794987683180421,0.337023110813065,   -0.504390727878013,0.794987683180421,0.337023110813065,   -0.723096024396823,0.493650833159972,0.48315731850193,   -0.723096024396823,0.493650833159972,0.48315731850193,   -0.723096024396823,0.493650833159972,0.48315731850193,   -0.7230960078548,0.493650840686481,0.48315733556884,   -0.7230960078548,0.493650840686481,0.48315733556884,   -0.7230960078548,0.493650840686481,0.48315733556884,   -0.852949898169036,0.493650850977917,0.169662336840592,   -0.852949898169036,0.493650850977917,0.169662336840592,   -0.852949898169036,0.493650850977917,0.169662336840592,   -0.594969430303541,0.794987683041384,0.11834678202964,   -0.594969430303541,0.794987683041384,0.11834678202964,   -0.594969430303541,0.794987683041384,0.11834678202964,   -0.852949898907319,0.493650865949391,0.169662289567867,   -0.852949898907319,0.493650865949391,0.169662289567867,   -0.852949898907319,0.493650865949391,0.169662289567867,   -0.594969430303541,0.794987683041384,-0.11834678202964,   -0.594969430303541,0.794987683041384,-0.11834678202964,   -0.594969430303541,0.794987683041384,-0.11834678202964,   -0.852949898907319,0.493650865949391,-0.169662289567867,   -0.852949898907319,0.493650865949391,-0.169662289567867,   -0.852949898907319,0.493650865949391,-0.169662289567867,   -0.852949898169036,0.493650850977917,-0.169662336840592,   -0.852949898169036,0.493650850977917,-0.169662336840592,   -0.852949898169036,0.493650850977917,-0.169662336840592,   -0.7230960078548,0.493650840686481,-0.48315733556884,   -0.7230960078548,0.493650840686481,-0.48315733556884,   -0.7230960078548,0.493650840686481,-0.48315733556884,   -0.504390727878013,0.794987683180421,-0.337023110813065,   -0.504390727878013,0.794987683180421,-0.337023110813065,   -0.504390727878013,0.794987683180421,-0.337023110813065,   -0.723096024396823,0.493650833159972,-0.48315731850193,   -0.723096024396823,0.493650833159972,-0.48315731850193,   -0.723096024396823,0.493650833159972,-0.48315731850193,   -0.337023110813065,0.794987683180421,-0.504390727878013,   -0.337023110813065,0.794987683180421,-0.504390727878013,   -0.337023110813065,0.794987683180421,-0.504390727878013,   -0.48315731850193,0.493650833159972,-0.723096024396823,   -0.48315731850193,0.493650833159972,-0.723096024396823,   -0.48315731850193,0.493650833159972,-0.723096024396823,   -0.48315733556884,0.493650840686481,-0.7230960078548,   -0.48315733556884,0.493650840686481,-0.7230960078548,   -0.48315733556884,0.493650840686481,-0.7230960078548,   -0.169662336840592,0.493650850977916,-0.852949898169036,   -0.169662336840592,0.493650850977916,-0.852949898169036,   -0.169662336840592,0.493650850977916,-0.852949898169036,   -0.11834678202964,0.794987683041384,-0.594969430303541,   -0.11834678202964,0.794987683041384,-0.594969430303541,   -0.11834678202964,0.794987683041384,-0.594969430303541,   -0.169662289567867,0.493650865949391,-0.852949898907319,   -0.169662289567867,0.493650865949391,-0.852949898907319,   -0.169662289567867,0.493650865949391,-0.852949898907319,   0.11834678202964,0.794987683041384,-0.594969430303541,   0.11834678202964,0.794987683041384,-0.594969430303541,   0.11834678202964,0.794987683041384,-0.594969430303541,   0.169662289567867,0.493650865949391,-0.852949898907319,   0.169662289567867,0.493650865949391,-0.852949898907319,   0.169662289567867,0.493650865949391,-0.852949898907319,   0.169662336840592,0.493650850977917,-0.852949898169036,   0.169662336840592,0.493650850977917,-0.852949898169036,   0.169662336840592,0.493650850977917,-0.852949898169036,   0.48315733556884,0.493650840686481,-0.7230960078548,   0.48315733556884,0.493650840686481,-0.7230960078548,   0.48315733556884,0.493650840686481,-0.7230960078548,   0.337023110813065,0.794987683180421,-0.504390727878013,   0.337023110813065,0.794987683180421,-0.504390727878013,   0.337023110813065,0.794987683180421,-0.504390727878013,   0.48315731850193,0.493650833159972,-0.723096024396823,   0.48315731850193,0.493650833159972,-0.723096024396823,   0.48315731850193,0.493650833159972,-0.723096024396823,   0.504390727878012,0.794987683180421,-0.337023110813065,   0.504390727878012,0.794987683180421,-0.337023110813065,   0.504390727878012,0.794987683180421,-0.337023110813065,   0.723096024396823,0.493650833159972,-0.48315731850193,   0.723096024396823,0.493650833159972,-0.48315731850193,   0.723096024396823,0.493650833159972,-0.48315731850193,   0.7230960078548,0.493650840686481,-0.48315733556884,   0.7230960078548,0.493650840686481,-0.48315733556884,   0.7230960078548,0.493650840686481,-0.48315733556884,   0.594969430303541,0.794987683041384,-0.11834678202964,   0.594969430303541,0.794987683041384,-0.11834678202964,   0.594969430303541,0.794987683041384,-0.11834678202964,   0.852949898169036,0.493650850977916,-0.169662336840592,   0.852949898169036,0.493650850977916,-0.169662336840592,   0.852949898169036,0.493650850977916,-0.169662336840592,   0.931359139010414,0.313447461780265,0.185258853729829,   0.931359139010414,0.313447461780265,0.185258853729829,   0.931359139010414,0.313447461780265,0.185258853729829,   0.931359120462821,0.313447486131001,-0.185258905774798,   0.931359120462821,0.313447486131001,-0.185258905774798,   0.931359120462821,0.313447486131001,-0.185258905774798,   0.931359120462821,0.313447486131001,0.185258905774798,   0.931359120462821,0.313447486131001,0.185258905774798,   0.931359120462821,0.313447486131001,0.185258905774798,   0.789568131042117,0.313447487805829,0.527572591053471,   0.789568131042117,0.313447487805829,0.527572591053471,   0.789568131042117,0.313447487805829,0.527572591053471,   0.78956817260564,0.313447530535408,0.527572503462268,   0.78956817260564,0.313447530535408,0.527572503462268,   0.78956817260564,0.313447530535408,0.527572503462268,   0.527572503462268,0.313447530535408,0.78956817260564,   0.527572503462268,0.313447530535408,0.78956817260564,   0.527572503462268,0.313447530535408,0.78956817260564,   0.527572591053471,0.313447487805829,0.789568131042117,   0.527572591053471,0.313447487805829,0.789568131042117,   0.527572591053471,0.313447487805829,0.789568131042117,   0.185258905774798,0.313447486131001,0.931359120462822,   0.185258905774798,0.313447486131001,0.931359120462822,   0.185258905774798,0.313447486131001,0.931359120462822,   0.185258853729829,0.313447461780265,0.931359139010414,   0.185258853729829,0.313447461780265,0.931359139010414,   0.185258853729829,0.313447461780265,0.931359139010414,   -0.185258853729829,0.313447461780265,0.931359139010414,   -0.185258853729829,0.313447461780265,0.931359139010414,   -0.185258853729829,0.313447461780265,0.931359139010414,   -0.185258905774798,0.313447486131001,0.931359120462821,   -0.185258905774798,0.313447486131001,0.931359120462821,   -0.185258905774798,0.313447486131001,0.931359120462821,   -0.527572591053471,0.313447487805829,0.789568131042117,   -0.527572591053471,0.313447487805829,0.789568131042117,   -0.527572591053471,0.313447487805829,0.789568131042117,   -0.527572503462268,0.313447530535408,0.78956817260564,   -0.527572503462268,0.313447530535408,0.78956817260564,   -0.527572503462268,0.313447530535408,0.78956817260564,   -0.78956817260564,0.313447530535408,0.527572503462268,   -0.78956817260564,0.313447530535408,0.527572503462268,   -0.78956817260564,0.313447530535408,0.527572503462268,   -0.789568131042117,0.313447487805829,0.527572591053471,   -0.789568131042117,0.313447487805829,0.527572591053471,   -0.789568131042117,0.313447487805829,0.527572591053471,   -0.931359120462821,0.313447486131001,0.185258905774798,   -0.931359120462821,0.313447486131001,0.185258905774798,   -0.931359120462821,0.313447486131001,0.185258905774798,   -0.931359139010414,0.313447461780265,0.185258853729829,   -0.931359139010414,0.313447461780265,0.185258853729829,   -0.931359139010414,0.313447461780265,0.185258853729829,   -0.931359139010414,0.313447461780265,-0.185258853729829,   -0.931359139010414,0.313447461780265,-0.185258853729829,   -0.931359139010414,0.313447461780265,-0.185258853729829,   -0.931359120462822,0.313447486131001,-0.185258905774798,   -0.931359120462822,0.313447486131001,-0.185258905774798,   -0.931359120462822,0.313447486131001,-0.185258905774798,   -0.789568131042117,0.313447487805829,-0.527572591053471,   -0.789568131042117,0.313447487805829,-0.527572591053471,   -0.789568131042117,0.313447487805829,-0.527572591053471,   -0.78956817260564,0.313447530535408,-0.527572503462268,   -0.78956817260564,0.313447530535408,-0.527572503462268,   -0.78956817260564,0.313447530535408,-0.527572503462268,   -0.527572503462268,0.313447530535408,-0.78956817260564,   -0.527572503462268,0.313447530535408,-0.78956817260564,   -0.527572503462268,0.313447530535408,-0.78956817260564,   -0.527572591053471,0.313447487805829,-0.789568131042117,   -0.527572591053471,0.313447487805829,-0.789568131042117,   -0.527572591053471,0.313447487805829,-0.789568131042117,   -0.185258905774798,0.313447486131001,-0.931359120462821,   -0.185258905774798,0.313447486131001,-0.931359120462821,   -0.185258905774798,0.313447486131001,-0.931359120462821,   -0.185258853729829,0.313447461780265,-0.931359139010414,   -0.185258853729829,0.313447461780265,-0.931359139010414,   -0.185258853729829,0.313447461780265,-0.931359139010414,   0.185258853729829,0.313447461780265,-0.931359139010414,   0.185258853729829,0.313447461780265,-0.931359139010414,   0.185258853729829,0.313447461780265,-0.931359139010414,   0.185258905774797,0.313447486131001,-0.931359120462822,   0.185258905774797,0.313447486131001,-0.931359120462822,   0.185258905774797,0.313447486131001,-0.931359120462822,   0.527572591053471,0.313447487805829,-0.789568131042117,   0.527572591053471,0.313447487805829,-0.789568131042117,   0.527572591053471,0.313447487805829,-0.789568131042117,   0.527572503462268,0.313447530535408,-0.78956817260564,   0.527572503462268,0.313447530535408,-0.78956817260564,   0.527572503462268,0.313447530535408,-0.78956817260564,   0.78956817260564,0.313447530535408,-0.527572503462268,   0.78956817260564,0.313447530535408,-0.527572503462268,   0.78956817260564,0.313447530535408,-0.527572503462268,   0.789568131042117,0.313447487805829,-0.527572591053471,   0.789568131042117,0.313447487805829,-0.527572591053471,   0.789568131042117,0.313447487805829,-0.527572591053471,   0.931359139010414,0.313447461780265,-0.185258853729829,   0.931359139010414,0.313447461780265,-0.185258853729829,   0.931359139010414,0.313447461780265,-0.185258853729829,   0.957695834075037,0.215706684037452,-0.190497548165026,   0.957695834075037,0.215706684037452,-0.190497548165026,   0.957695834075037,0.215706684037452,-0.190497548165026,   0.957695834075037,0.215706684037452,0.190497548165026,   0.957695834075037,0.215706684037452,0.190497548165026,   0.957695834075037,0.215706684037452,0.190497548165026,   0.957695833052288,0.215706676229254,0.190497562148215,   0.957695833052288,0.215706676229254,0.190497562148215,   0.957695833052288,0.215706676229254,0.190497562148215,   0.811895349615271,0.215706674378969,0.542491080020181,   0.811895349615271,0.215706674378969,0.542491080020181,   0.811895349615271,0.215706674378969,0.542491080020181,   0.811895369424797,0.215706657501,0.542491057084187,   0.811895369424797,0.215706657501,0.542491057084187,   0.811895369424797,0.215706657501,0.542491057084187,   0.542491057084187,0.215706657501,0.811895369424797,   0.542491057084187,0.215706657501,0.811895369424797,   0.542491057084187,0.215706657501,0.811895369424797,   0.542491080020181,0.215706674378969,0.811895349615271,   0.542491080020181,0.215706674378969,0.811895349615271,   0.542491080020181,0.215706674378969,0.811895349615271,   0.190497562148215,0.215706676229254,0.957695833052287,   0.190497562148215,0.215706676229254,0.957695833052287,   0.190497562148215,0.215706676229254,0.957695833052287,   0.190497548165026,0.215706684037452,0.957695834075037,   0.190497548165026,0.215706684037452,0.957695834075037,   0.190497548165026,0.215706684037452,0.957695834075037,   -0.190497548165026,0.215706684037452,0.957695834075037,   -0.190497548165026,0.215706684037452,0.957695834075037,   -0.190497548165026,0.215706684037452,0.957695834075037,   -0.190497562148215,0.215706676229254,0.957695833052287,   -0.190497562148215,0.215706676229254,0.957695833052287,   -0.190497562148215,0.215706676229254,0.957695833052287,   -0.542491080020181,0.215706674378969,0.811895349615271,   -0.542491080020181,0.215706674378969,0.811895349615271,   -0.542491080020181,0.215706674378969,0.811895349615271,   -0.542491057084187,0.215706657501,0.811895369424797,   -0.542491057084187,0.215706657501,0.811895369424797,   -0.542491057084187,0.215706657501,0.811895369424797,   -0.811895369424797,0.215706657501,0.542491057084187,   -0.811895369424797,0.215706657501,0.542491057084187,   -0.811895369424797,0.215706657501,0.542491057084187,   -0.811895349615271,0.215706674378969,0.542491080020181,   -0.811895349615271,0.215706674378969,0.542491080020181,   -0.811895349615271,0.215706674378969,0.542491080020181,   -0.957695833052287,0.215706676229254,0.190497562148215,   -0.957695833052287,0.215706676229254,0.190497562148215,   -0.957695833052287,0.215706676229254,0.190497562148215,   -0.957695834075037,0.215706684037452,0.190497548165026,   -0.957695834075037,0.215706684037452,0.190497548165026,   -0.957695834075037,0.215706684037452,0.190497548165026,   -0.957695834075037,0.215706684037452,-0.190497548165026,   -0.957695834075037,0.215706684037452,-0.190497548165026,   -0.957695834075037,0.215706684037452,-0.190497548165026,   -0.957695833052287,0.215706676229254,-0.190497562148215,   -0.957695833052287,0.215706676229254,-0.190497562148215,   -0.957695833052287,0.215706676229254,-0.190497562148215,   -0.811895349615271,0.215706674378969,-0.542491080020181,   -0.811895349615271,0.215706674378969,-0.542491080020181,   -0.811895349615271,0.215706674378969,-0.542491080020181,   -0.811895369424797,0.215706657501,-0.542491057084187,   -0.811895369424797,0.215706657501,-0.542491057084187,   -0.811895369424797,0.215706657501,-0.542491057084187,   -0.542491057084187,0.215706657501,-0.811895369424797,   -0.542491057084187,0.215706657501,-0.811895369424797,   -0.542491057084187,0.215706657501,-0.811895369424797,   -0.542491080020181,0.215706674378969,-0.811895349615271,   -0.542491080020181,0.215706674378969,-0.811895349615271,   -0.542491080020181,0.215706674378969,-0.811895349615271,   -0.190497562148215,0.215706676229254,-0.957695833052287,   -0.190497562148215,0.215706676229254,-0.957695833052287,   -0.190497562148215,0.215706676229254,-0.957695833052287,   -0.190497548165026,0.215706684037452,-0.957695834075037,   -0.190497548165026,0.215706684037452,-0.957695834075037,   -0.190497548165026,0.215706684037452,-0.957695834075037,   0.190497548165026,0.215706684037452,-0.957695834075037,   0.190497548165026,0.215706684037452,-0.957695834075037,   0.190497548165026,0.215706684037452,-0.957695834075037,   0.190497562148214,0.215706676229254,-0.957695833052287,   0.190497562148214,0.215706676229254,-0.957695833052287,   0.190497562148214,0.215706676229254,-0.957695833052287,   0.542491080020181,0.215706674378969,-0.811895349615271,   0.542491080020181,0.215706674378969,-0.811895349615271,   0.542491080020181,0.215706674378969,-0.811895349615271,   0.542491057084187,0.215706657501,-0.811895369424797,   0.542491057084187,0.215706657501,-0.811895369424797,   0.542491057084187,0.215706657501,-0.811895369424797,   0.811895369424797,0.215706657501,-0.542491057084187,   0.811895369424797,0.215706657501,-0.542491057084187,   0.811895369424797,0.215706657501,-0.542491057084187,   0.811895349615271,0.215706674378969,-0.542491080020181,   0.811895349615271,0.215706674378969,-0.542491080020181,   0.811895349615271,0.215706674378969,-0.542491080020181,   0.957695833052288,0.215706676229254,-0.190497562148215,   0.957695833052288,0.215706676229254,-0.190497562148215,   0.957695833052288,0.215706676229254,-0.190497562148215,   0.973680575432198,-0.120147099626964,0.193677080412869,   0.973680575432198,-0.120147099626964,0.193677080412869,   0.973680575432198,-0.120147099626964,0.193677080412869,   0.973680569967618,-0.120147073182655,-0.193677124289825,   0.973680569967618,-0.120147073182655,-0.193677124289825,   0.973680569967618,-0.120147073182655,-0.193677124289825,   0.973680569967618,-0.120147073182655,0.193677124289825,   0.973680569967618,-0.120147073182655,0.193677124289825,   0.973680569967618,-0.120147073182655,0.193677124289825,   0.82544655493486,-0.120147077001901,0.551545705117963,   0.82544655493486,-0.120147077001901,0.551545705117963,   0.82544655493486,-0.120147077001901,0.551545705117963,   0.82544648583623,-0.120147144275624,0.551545793876656,   0.82544648583623,-0.120147144275624,0.551545793876656,   0.82544648583623,-0.120147144275624,0.551545793876656,   0.551545793876656,-0.120147144275624,0.82544648583623,   0.551545793876656,-0.120147144275624,0.82544648583623,   0.551545793876656,-0.120147144275624,0.82544648583623,   0.551545705117963,-0.120147077001901,0.82544655493486,   0.551545705117963,-0.120147077001901,0.82544655493486,   0.551545705117963,-0.120147077001901,0.82544655493486,   0.193677124289825,-0.120147073182655,0.973680569967618,   0.193677124289825,-0.120147073182655,0.973680569967618,   0.193677124289825,-0.120147073182655,0.973680569967618,   0.193677080412869,-0.120147099626964,0.973680575432198,   0.193677080412869,-0.120147099626964,0.973680575432198,   0.193677080412869,-0.120147099626964,0.973680575432198,   -0.193677080412869,-0.120147099626964,0.973680575432198,   -0.193677080412869,-0.120147099626964,0.973680575432198,   -0.193677080412869,-0.120147099626964,0.973680575432198,   -0.193677124289825,-0.120147073182655,0.973680569967618,   -0.193677124289825,-0.120147073182655,0.973680569967618,   -0.193677124289825,-0.120147073182655,0.973680569967618,   -0.551545705117963,-0.120147077001901,0.82544655493486,   -0.551545705117963,-0.120147077001901,0.82544655493486,   -0.551545705117963,-0.120147077001901,0.82544655493486,   -0.551545793876656,-0.120147144275624,0.82544648583623,   -0.551545793876656,-0.120147144275624,0.82544648583623,   -0.551545793876656,-0.120147144275624,0.82544648583623,   -0.82544648583623,-0.120147144275624,0.551545793876656,   -0.82544648583623,-0.120147144275624,0.551545793876656,   -0.82544648583623,-0.120147144275624,0.551545793876656,   -0.82544655493486,-0.120147077001901,0.551545705117963,   -0.82544655493486,-0.120147077001901,0.551545705117963,   -0.82544655493486,-0.120147077001901,0.551545705117963,   -0.973680569967618,-0.120147073182655,0.193677124289825,   -0.973680569967618,-0.120147073182655,0.193677124289825,   -0.973680569967618,-0.120147073182655,0.193677124289825,   -0.973680575432198,-0.120147099626964,0.193677080412869,   -0.973680575432198,-0.120147099626964,0.193677080412869,   -0.973680575432198,-0.120147099626964,0.193677080412869,   -0.973680575432198,-0.120147099626964,-0.193677080412869,   -0.973680575432198,-0.120147099626964,-0.193677080412869,   -0.973680575432198,-0.120147099626964,-0.193677080412869,   -0.973680569967618,-0.120147073182655,-0.193677124289825,   -0.973680569967618,-0.120147073182655,-0.193677124289825,   -0.973680569967618,-0.120147073182655,-0.193677124289825,   -0.82544655493486,-0.120147077001901,-0.551545705117963,   -0.82544655493486,-0.120147077001901,-0.551545705117963,   -0.82544655493486,-0.120147077001901,-0.551545705117963,   -0.82544648583623,-0.120147144275624,-0.551545793876656,   -0.82544648583623,-0.120147144275624,-0.551545793876656,   -0.82544648583623,-0.120147144275624,-0.551545793876656,   -0.551545793876656,-0.120147144275624,-0.82544648583623,   -0.551545793876656,-0.120147144275624,-0.82544648583623,   -0.551545793876656,-0.120147144275624,-0.82544648583623,   -0.551545705117963,-0.120147077001901,-0.82544655493486,   -0.551545705117963,-0.120147077001901,-0.82544655493486,   -0.551545705117963,-0.120147077001901,-0.82544655493486,   -0.193677124289825,-0.120147073182655,-0.973680569967618,   -0.193677124289825,-0.120147073182655,-0.973680569967618,   -0.193677124289825,-0.120147073182655,-0.973680569967618,   -0.19367708041287,-0.120147099626963,-0.973680575432198,   -0.19367708041287,-0.120147099626963,-0.973680575432198,   -0.19367708041287,-0.120147099626963,-0.973680575432198,   0.193677080412869,-0.120147099626964,-0.973680575432198,   0.193677080412869,-0.120147099626964,-0.973680575432198,   0.193677080412869,-0.120147099626964,-0.973680575432198,   0.193677124289825,-0.120147073182655,-0.973680569967618,   0.193677124289825,-0.120147073182655,-0.973680569967618,   0.193677124289825,-0.120147073182655,-0.973680569967618,   0.551545705117963,-0.120147077001901,-0.82544655493486,   0.551545705117963,-0.120147077001901,-0.82544655493486,   0.551545705117963,-0.120147077001901,-0.82544655493486,   0.551545793876656,-0.120147144275624,-0.82544648583623,   0.551545793876656,-0.120147144275624,-0.82544648583623,   0.551545793876656,-0.120147144275624,-0.82544648583623,   0.82544648583623,-0.120147144275624,-0.551545793876656,   0.82544648583623,-0.120147144275624,-0.551545793876656,   0.82544648583623,-0.120147144275624,-0.551545793876656,   0.82544655493486,-0.120147077001901,-0.551545705117963,   0.82544655493486,-0.120147077001901,-0.551545705117963,   0.82544655493486,-0.120147077001901,-0.551545705117963,   0.973680575432198,-0.120147099626964,-0.193677080412869,   0.973680575432198,-0.120147099626964,-0.193677080412869,   0.973680575432198,-0.120147099626964,-0.193677080412869,   0.908573417652906,-0.376606280038167,-0.18072646339242,   0.908573417652906,-0.376606280038167,-0.18072646339242,   0.908573417652906,-0.376606280038167,-0.18072646339242,   0.908573417652906,-0.376606280038167,0.18072646339242,   0.908573417652906,-0.376606280038167,0.18072646339242,   0.908573417652906,-0.376606280038167,0.18072646339242,   0.908573374641961,-0.376606335725282,0.180726563579612,   0.908573374641961,-0.376606335725282,0.180726563579612,   0.908573374641961,-0.376606335725282,0.180726563579612,   0.770251357334272,-0.376606328144515,0.514665444853468,   0.770251357334272,-0.376606328144515,0.514665444853468,   0.770251357334272,-0.376606328144515,0.514665444853468,   0.770251313983723,-0.376606268434297,0.514665553425078,   0.770251313983723,-0.376606268434297,0.514665553425078,   0.770251313983723,-0.376606268434297,0.514665553425078,   0.514665553425078,-0.376606268434297,0.770251313983723,   0.514665553425078,-0.376606268434297,0.770251313983723,   0.514665553425078,-0.376606268434297,0.770251313983723,   0.514665444853468,-0.376606328144515,0.770251357334272,   0.514665444853468,-0.376606328144515,0.770251357334272,   0.514665444853468,-0.376606328144515,0.770251357334272,   0.180726563579611,-0.376606335725282,0.908573374641961,   0.180726563579611,-0.376606335725282,0.908573374641961,   0.180726563579611,-0.376606335725282,0.908573374641961,   0.18072646339242,-0.376606280038167,0.908573417652906,   0.18072646339242,-0.376606280038167,0.908573417652906,   0.18072646339242,-0.376606280038167,0.908573417652906,   -0.18072646339242,-0.376606280038167,0.908573417652906,   -0.18072646339242,-0.376606280038167,0.908573417652906,   -0.18072646339242,-0.376606280038167,0.908573417652906,   -0.180726563579612,-0.376606335725282,0.908573374641961,   -0.180726563579612,-0.376606335725282,0.908573374641961,   -0.180726563579612,-0.376606335725282,0.908573374641961,   -0.514665444853468,-0.376606328144515,0.770251357334272,   -0.514665444853468,-0.376606328144515,0.770251357334272,   -0.514665444853468,-0.376606328144515,0.770251357334272,   -0.514665553425078,-0.376606268434297,0.770251313983723,   -0.514665553425078,-0.376606268434297,0.770251313983723,   -0.514665553425078,-0.376606268434297,0.770251313983723,   -0.770251313983723,-0.376606268434297,0.514665553425078,   -0.770251313983723,-0.376606268434297,0.514665553425078,   -0.770251313983723,-0.376606268434297,0.514665553425078,   -0.770251357334272,-0.376606328144515,0.514665444853468,   -0.770251357334272,-0.376606328144515,0.514665444853468,   -0.770251357334272,-0.376606328144515,0.514665444853468,   -0.908573374641961,-0.376606335725282,0.180726563579612,   -0.908573374641961,-0.376606335725282,0.180726563579612,   -0.908573374641961,-0.376606335725282,0.180726563579612,   -0.908573417652906,-0.376606280038167,0.18072646339242,   -0.908573417652906,-0.376606280038167,0.18072646339242,   -0.908573417652906,-0.376606280038167,0.18072646339242,   -0.908573417652906,-0.376606280038167,-0.18072646339242,   -0.908573417652906,-0.376606280038167,-0.18072646339242,   -0.908573417652906,-0.376606280038167,-0.18072646339242,   -0.908573374641961,-0.376606335725282,-0.180726563579611,   -0.908573374641961,-0.376606335725282,-0.180726563579611,   -0.908573374641961,-0.376606335725282,-0.180726563579611,   -0.770251357334272,-0.376606328144515,-0.514665444853468,   -0.770251357334272,-0.376606328144515,-0.514665444853468,   -0.770251357334272,-0.376606328144515,-0.514665444853468,   -0.770251313983723,-0.376606268434297,-0.514665553425078,   -0.770251313983723,-0.376606268434297,-0.514665553425078,   -0.770251313983723,-0.376606268434297,-0.514665553425078,   -0.514665553425078,-0.376606268434297,-0.770251313983723,   -0.514665553425078,-0.376606268434297,-0.770251313983723,   -0.514665553425078,-0.376606268434297,-0.770251313983723,   -0.514665444853468,-0.376606328144515,-0.770251357334272,   -0.514665444853468,-0.376606328144515,-0.770251357334272,   -0.514665444853468,-0.376606328144515,-0.770251357334272,   -0.180726563579612,-0.376606335725282,-0.908573374641961,   -0.180726563579612,-0.376606335725282,-0.908573374641961,   -0.180726563579612,-0.376606335725282,-0.908573374641961,   -0.18072646339242,-0.376606280038167,-0.908573417652906,   -0.18072646339242,-0.376606280038167,-0.908573417652906,   -0.18072646339242,-0.376606280038167,-0.908573417652906,   0.18072646339242,-0.376606280038167,-0.908573417652906,   0.18072646339242,-0.376606280038167,-0.908573417652906,   0.18072646339242,-0.376606280038167,-0.908573417652906,   0.180726563579611,-0.376606335725282,-0.908573374641961,   0.180726563579611,-0.376606335725282,-0.908573374641961,   0.180726563579611,-0.376606335725282,-0.908573374641961,   0.514665444853468,-0.376606328144515,-0.770251357334272,   0.514665444853468,-0.376606328144515,-0.770251357334272,   0.514665444853468,-0.376606328144515,-0.770251357334272,   0.514665553425078,-0.376606268434297,-0.770251313983723,   0.514665553425078,-0.376606268434297,-0.770251313983723,   0.514665553425078,-0.376606268434297,-0.770251313983723,   0.770251313983723,-0.376606268434297,-0.514665553425078,   0.770251313983723,-0.376606268434297,-0.514665553425078,   0.770251313983723,-0.376606268434297,-0.514665553425078,   0.770251357334272,-0.376606328144515,-0.514665444853468,   0.770251357334272,-0.376606328144515,-0.514665444853468,   0.770251357334272,-0.376606328144515,-0.514665444853468,   0.908573374641961,-0.376606335725282,-0.180726563579612,   0.908573374641961,-0.376606335725282,-0.180726563579612,   0.908573374641961,-0.376606335725282,-0.180726563579612,   0.623235819575763,-0.772145531445475,0.123969316633238,   0.623235819575763,-0.772145531445475,0.123969316633238,   0.623235819575763,-0.772145531445475,0.123969316633238,   0.623235829629093,-0.772145514597524,-0.123969371029544,   0.623235829629093,-0.772145514597524,-0.123969371029544,   0.623235829629093,-0.772145514597524,-0.123969371029544,   0.623235829629093,-0.772145514597524,0.123969371029544,   0.623235829629093,-0.772145514597524,0.123969371029544,   0.623235829629093,-0.772145514597524,0.123969371029544,   0.528353852482258,-0.772145513899506,0.353034717743204,   0.528353852482258,-0.772145513899506,0.353034717743204,   0.528353852482258,-0.772145513899506,0.353034717743204,   0.528353822185156,-0.772145525100142,0.353034738588375,   0.528353822185156,-0.772145525100142,0.353034738588375,   0.528353822185156,-0.772145525100142,0.353034738588375,   0.353034738588375,-0.772145525100142,0.528353822185156,   0.353034738588375,-0.772145525100142,0.528353822185156,   0.353034738588375,-0.772145525100142,0.528353822185156,   0.353034717743204,-0.772145513899506,0.528353852482258,   0.353034717743204,-0.772145513899506,0.528353852482258,   0.353034717743204,-0.772145513899506,0.528353852482258,   0.123969371029544,-0.772145514597524,0.623235829629093,   0.123969371029544,-0.772145514597524,0.623235829629093,   0.123969371029544,-0.772145514597524,0.623235829629093,   0.123969316633238,-0.772145531445475,0.623235819575763,   0.123969316633238,-0.772145531445475,0.623235819575763,   0.123969316633238,-0.772145531445475,0.623235819575763,   -0.123969316633238,-0.772145531445475,0.623235819575763,   -0.123969316633238,-0.772145531445475,0.623235819575763,   -0.123969316633238,-0.772145531445475,0.623235819575763,   -0.123969371029544,-0.772145514597524,0.623235829629093,   -0.123969371029544,-0.772145514597524,0.623235829629093,   -0.123969371029544,-0.772145514597524,0.623235829629093,   -0.353034717743204,-0.772145513899506,0.528353852482258,   -0.353034717743204,-0.772145513899506,0.528353852482258,   -0.353034717743204,-0.772145513899506,0.528353852482258,   -0.353034738588375,-0.772145525100142,0.528353822185156,   -0.353034738588375,-0.772145525100142,0.528353822185156,   -0.353034738588375,-0.772145525100142,0.528353822185156,   -0.528353822185156,-0.772145525100142,0.353034738588375,   -0.528353822185156,-0.772145525100142,0.353034738588375,   -0.528353822185156,-0.772145525100142,0.353034738588375,   -0.528353852482258,-0.772145513899506,0.353034717743204,   -0.528353852482258,-0.772145513899506,0.353034717743204,   -0.528353852482258,-0.772145513899506,0.353034717743204,   -0.623235829629093,-0.772145514597524,0.123969371029544,   -0.623235829629093,-0.772145514597524,0.123969371029544,   -0.623235829629093,-0.772145514597524,0.123969371029544,   -0.623235819575763,-0.772145531445475,0.123969316633238,   -0.623235819575763,-0.772145531445475,0.123969316633238,   -0.623235819575763,-0.772145531445475,0.123969316633238,   -0.623235819575763,-0.772145531445475,-0.123969316633238,   -0.623235819575763,-0.772145531445475,-0.123969316633238,   -0.623235819575763,-0.772145531445475,-0.123969316633238,   -0.623235829629093,-0.772145514597524,-0.123969371029544,   -0.623235829629093,-0.772145514597524,-0.123969371029544,   -0.623235829629093,-0.772145514597524,-0.123969371029544,   -0.528353852482258,-0.772145513899506,-0.353034717743204,   -0.528353852482258,-0.772145513899506,-0.353034717743204,   -0.528353852482258,-0.772145513899506,-0.353034717743204,   -0.528353822185156,-0.772145525100142,-0.353034738588375,   -0.528353822185156,-0.772145525100142,-0.353034738588375,   -0.528353822185156,-0.772145525100142,-0.353034738588375,   -0.353034738588375,-0.772145525100142,-0.528353822185156,   -0.353034738588375,-0.772145525100142,-0.528353822185156,   -0.353034738588375,-0.772145525100142,-0.528353822185156,   -0.353034717743204,-0.772145513899506,-0.528353852482258,   -0.353034717743204,-0.772145513899506,-0.528353852482258,   -0.353034717743204,-0.772145513899506,-0.528353852482258,   -0.123969371029544,-0.772145514597524,-0.623235829629093,   -0.123969371029544,-0.772145514597524,-0.623235829629093,   -0.123969371029544,-0.772145514597524,-0.623235829629093,   -0.123969316633238,-0.772145531445475,-0.623235819575763,   -0.123969316633238,-0.772145531445475,-0.623235819575763,   -0.123969316633238,-0.772145531445475,-0.623235819575763,   0.123969316633238,-0.772145531445475,-0.623235819575763,   0.123969316633238,-0.772145531445475,-0.623235819575763,   0.123969316633238,-0.772145531445475,-0.623235819575763,   0.123969371029544,-0.772145514597524,-0.623235829629093,   0.123969371029544,-0.772145514597524,-0.623235829629093,   0.123969371029544,-0.772145514597524,-0.623235829629093,   0.353034717743204,-0.772145513899506,-0.528353852482258,   0.353034717743204,-0.772145513899506,-0.528353852482258,   0.353034717743204,-0.772145513899506,-0.528353852482258,   0.353034738588375,-0.772145525100142,-0.528353822185156,   0.353034738588375,-0.772145525100142,-0.528353822185156,   0.353034738588375,-0.772145525100142,-0.528353822185156,   0.528353822185156,-0.772145525100142,-0.353034738588375,   0.528353822185156,-0.772145525100142,-0.353034738588375,   0.528353822185156,-0.772145525100142,-0.353034738588375,   0.528353852482258,-0.772145513899506,-0.353034717743204,   0.528353852482258,-0.772145513899506,-0.353034717743204,   0.528353852482258,-0.772145513899506,-0.353034717743204,   0.623235819575763,-0.772145531445475,-0.123969316633238,   0.623235819575763,-0.772145531445475,-0.123969316633238,   0.623235819575763,-0.772145531445475,-0.123969316633238,   0.304772613607861,-0.95049381928895,-0.0606230442005259,   0.304772613607861,-0.95049381928895,-0.0606230442005259,   0.304772613607861,-0.95049381928895,-0.0606230442005259,   0.304772613607861,-0.95049381928895,0.0606230442005259,   0.304772613607861,-0.95049381928895,0.0606230442005259,   0.304772613607861,-0.95049381928895,0.0606230442005259,   0.258373745885895,-0.950493819332569,0.172639818256034,   0.258373745885895,-0.950493819332569,0.172639818256034,   0.258373745885895,-0.950493819332569,0.172639818256034,   0.172639818256034,-0.950493819332569,0.258373745885895,   0.172639818256034,-0.950493819332569,0.258373745885895,   0.172639818256034,-0.950493819332569,0.258373745885895,   0.0606230442005257,-0.95049381928895,0.304772613607861,   0.0606230442005257,-0.95049381928895,0.304772613607861,   0.0606230442005257,-0.95049381928895,0.304772613607861,   -0.0606230442005258,-0.95049381928895,0.304772613607861,   -0.0606230442005258,-0.95049381928895,0.304772613607861,   -0.0606230442005258,-0.95049381928895,0.304772613607861,   -0.172639818256034,-0.950493819332569,0.258373745885895,   -0.172639818256034,-0.950493819332569,0.258373745885895,   -0.172639818256034,-0.950493819332569,0.258373745885895,   -0.258373745885895,-0.950493819332569,0.172639818256034,   -0.258373745885895,-0.950493819332569,0.172639818256034,   -0.258373745885895,-0.950493819332569,0.172639818256034,   -0.304772613607861,-0.95049381928895,0.0606230442005259,   -0.304772613607861,-0.95049381928895,0.0606230442005259,   -0.304772613607861,-0.95049381928895,0.0606230442005259,   -0.304772613607861,-0.95049381928895,-0.0606230442005259,   -0.304772613607861,-0.95049381928895,-0.0606230442005259,   -0.304772613607861,-0.95049381928895,-0.0606230442005259,   -0.258373745885895,-0.950493819332569,-0.172639818256034,   -0.258373745885895,-0.950493819332569,-0.172639818256034,   -0.258373745885895,-0.950493819332569,-0.172639818256034,   -0.172639818256034,-0.950493819332569,-0.258373745885895,   -0.172639818256034,-0.950493819332569,-0.258373745885895,   -0.172639818256034,-0.950493819332569,-0.258373745885895,   -0.0606230442005259,-0.95049381928895,-0.304772613607861,   -0.0606230442005259,-0.95049381928895,-0.304772613607861,   -0.0606230442005259,-0.95049381928895,-0.304772613607861,   0.0606230442005257,-0.95049381928895,-0.304772613607861,   0.0606230442005257,-0.95049381928895,-0.304772613607861,   0.0606230442005257,-0.95049381928895,-0.304772613607861,   0.172639818256034,-0.950493819332569,-0.258373745885895,   0.172639818256034,-0.950493819332569,-0.258373745885895,   0.172639818256034,-0.950493819332569,-0.258373745885895,   0.258373745885895,-0.950493819332569,-0.172639818256034,   0.258373745885895,-0.950493819332569,-0.172639818256034,   0.258373745885895,-0.950493819332569,-0.172639818256034,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 852 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 852 );
glEndList();
return $dl;
};



$DRAW_MODEL{'Wall'}[south] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,0.5,0.5,   -0.5,0.5,0.5,   0.5,-0.5,0.5,   0.5,0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,0,   0,1,   0,1,   1,0,   1,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   0,0,1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Wall'}[north] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,-0.5,   0.5,0.5,-0.5,   0.5,-0.5,-0.5,   -0.5,0.5,-0.5,   0.5,0.5,-0.5,   -0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   0,1,   0,0,   1,1,   0,1,   1,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   0,0,-1,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Wall'}[top] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.5,0.5,   0.5,0.5,-0.5,   -0.5,0.5,-0.5,   0.5,0.5,0.5,   0.5,0.5,-0.5,   -0.5,0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   0,1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Wall'}[west] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,0.5,0.5,   -0.5,-0.5,-0.5,   -0.5,-0.5,0.5,   -0.5,0.5,-0.5,   -0.5,-0.5,-0.5,   -0.5,0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,1,   0,0,   1,0,   0,1,   0,0,   1,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (-1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   -1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Wall'}[east] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (0.5,-0.5,0.5,   0.5,0.5,-0.5,   0.5,0.5,0.5,   0.5,-0.5,-0.5,   0.5,0.5,-0.5,   0.5,-0.5,0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (0,0,   1,1,   0,1,   1,0,   1,1,   0,0,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   1,0,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};

$DRAW_MODEL{'Wall'}[bottom] = sub {
my ($x, $y, $z, $s, $brightness_modificator, $north, $west, $south, $east, $bottom, $top) = @_;

my @verts = (-0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,0.5,   0.5,-0.5,0.5,   -0.5,-0.5,-0.5,   0.5,-0.5,-0.5,   );
my $verts = OpenGL::Array->new_list( GL_FLOAT, @verts );

my @texcoords = (1,0,   1,1,   0,0,   0,0,   1,1,   0,1,   );
my $texcoords = OpenGL::Array->new_list( GL_FLOAT, @texcoords );

my @norms = (0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   0,-1,0,   );
my $norms = OpenGL::Array->new_list( GL_FLOAT, @norms );

my @indices = ( 0 .. 6 );
my $indices = OpenGL::Array->new_list( GL_UNSIGNED_INT, @indices );

glVertexPointer_p( 3, $verts );
glNormalPointer_p( $norms );
glTexCoordPointer_p( 2, $texcoords );

my $dl = glGenLists(1);
glNewList( $dl, GL_COMPILE );
glDrawArrays( GL_TRIANGLES, 0, 6 );
glEndList();
return $dl;
};


    
    
    sub get_model_subs {
        return %DRAW_MODEL;
    }
    
    sub set_zcount_for_models {
        ($ZCOUNT) = @_;
    }
    
    1;
    